Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何覆盖rails中rake任务的数据库连接信息?_Ruby On Rails_Ruby_Rake - Fatal编程技术网

Ruby on rails 如何覆盖rails中rake任务的数据库连接信息?

Ruby on rails 如何覆盖rails中rake任务的数据库连接信息?,ruby-on-rails,ruby,rake,Ruby On Rails,Ruby,Rake,我有一个rails rake任务,我希望它忽略database.yml中的内容,并使用其他内容。如何执行此操作?您可以使用ActiveRecord::Base.building\u connection在Rake任务中设置数据库连接,如前所述 或者创建一个单独的环境,并将数据库配置添加到database.yml。然后使用rake mytask RAILS\u ENV=myenvironment调用rake任务,也可以使用以下格式直接访问rake任务中的数据库: desc "Some task"

我有一个rails rake任务,我希望它忽略database.yml中的内容,并使用其他内容。如何执行此操作?

您可以使用
ActiveRecord::Base.building\u connection
在Rake任务中设置数据库连接,如前所述


或者创建一个单独的环境,并将数据库配置添加到
database.yml
。然后使用rake mytask RAILS\u ENV=myenvironment调用rake任务,也可以使用以下格式直接访问rake任务中的数据库:

desc "Some task"
task SomeTask: :environment do
  Author.all.each do |author|
    ... some code
  end
end