2011-04-03 27 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