2011-04-03 57 views
2

以下是我在辛特拉進行遷移的Rakefile。我有2個奇怪的錯誤,當我把它Sinatra中Active Record遷移的奇怪錯誤

未初始化的常量記錄器(上線的ActiveRecord :: Base.logger = Logger.new(STDOUT))運行

不能轉換成字符串整數(上線的ActiveRecord :: Migrator.migrate('db/migrate'))

namespace :db do 

task :environment do 
    require 'active_record' 
    ActiveRecord::Base.establish_connection :adapter => 'mysql2', :port => '/Applications/MAMP/tmp/mysql/mysql.sock' 
end 

desc "Migrate the database" 
task(:migrate => :environment) do 
    #ActiveRecord::Base.logger = Logger.new(STDOUT) 
    ActiveRecord::Migration.verbose = true 
    ActiveRecord::Migrator.migrate('db/migrate') 
end 
end 

有沒有人有任何想法如何解決這些問題?謝謝。

回答

4
uninitialized constant Logger 

包含在Ruby標準庫的Logger類在使用它之前:require 'logger'

+0

'不能轉換成字符串Integer'。這可能是您的一個遷移問題,但您需要提供更多信息才能獲得答案。 – Rey 2011-04-03 07:36:38

+1

最後,我轉而使用bmizerany進行sinatra-activerecord遷移,而不是這種繁瑣的方法。它效果很好。 – 2011-04-03 15:20:51