我想创建一个自定义的db/seeds
文件并将其传递到特定的环境
desc "Select for bonus"
task :bonus => :environment do
puts "Bonus for: #{pick(User).name}"
end
是否可以在rake任务的task部分指定say only the test environment而不必在命令行中运行
RAILS_ENV=test rake
? 最佳答案
如果您所做的只是将此特定任务植入数据库,则只需在任务中与正确的数据库建立连接。
desc "Select for bonus"
task :bonus => :environment do
puts "Bonus for: #{pick(User).name}"
ActiveRecord::Base.establish_connection('test')
....
end
上面的
ActiveRecord::Base.establish_connection('test')
连接到test
数据库,然后在该数据库上运行其余步骤。如果你正在做更复杂的事情作为任务的一部分,那也是可能的。有关一些提示,请参见How do I force RAILS_ENV in a rake task?。
关于ruby-on-rails - Ruby on Rails在rake任务中指定环境,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27913457/