【发布时间】:2010-11-09 02:20:19
【问题描述】:
我有一个 rails rake 任务,我希望它忽略 database.yml 中的内容并使用其他内容。我该怎么做?
【问题讨论】:
标签: ruby-on-rails ruby rake
我有一个 rails rake 任务,我希望它忽略 database.yml 中的内容并使用其他内容。我该怎么做?
【问题讨论】:
标签: ruby-on-rails ruby rake
您可以使用ActiveRecord::Base.establish_connection 在 Rake 任务中设置数据库连接,如in this SO question 所述。
或者创建一个单独的环境并将数据库配置添加到database.yml。然后用rake mytask RAILS_ENV=myenvironment调用rake任务
【讨论】:
您还可以使用以下格式直接访问 rake 任务中的数据库:
desc "Some task"
task SomeTask: :environment do
Author.all.each do |author|
... some code
end
end
【讨论】: