我有一个rails rake任务,我希望它忽略database.yml中的内容并使用其他内容。我该怎么做?
答案 0 :(得分:2)
您可以使用ActiveRecord::Base.establish_connection
在Rake任务中设置数据库连接,如in this SO question所述。
或创建单独的环境并将数据库配置添加到database.yml
。然后使用rake mytask RAILS_ENV=myenvironment
答案 1 :(得分:0)
您还可以使用以下格式直接访问rake任务中的数据库:
desc "Some task"
task SomeTask: :environment do
Author.all.each do |author|
... some code
end
end