Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.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 Rake-如何在调用任务之前使用来修改database.yml配置?_Ruby On Rails_Ruby On Rails 3_Rake_Yaml - Fatal编程技术网

Ruby on rails Rake-如何在调用任务之前使用来修改database.yml配置?

Ruby on rails Rake-如何在调用任务之前使用来修改database.yml配置?,ruby-on-rails,ruby-on-rails-3,rake,yaml,Ruby On Rails,Ruby On Rails 3,Rake,Yaml,我有一个带有公共模式的数据库,我们在其中保存登录/帐户信息,并为客户机数据保存多个客户机模式。我已经成功地使用yaml_db将测试数据转储/加载到客户机模式中,但这需要每次重新加载数据时不断修改公共模式和客户机特定模式之间的模式搜索路径 我正在尝试构建一个rake任务来自动化这个任务,但不确定在调用db:data:load任务之前如何修改中的schema\u search\u路径 我可以通过以下操作查看database.yml中的当前值: env=“{RAILS\u env}” config=Y

我有一个带有公共模式的数据库,我们在其中保存登录/帐户信息,并为客户机数据保存多个客户机模式。我已经成功地使用yaml_db将测试数据转储/加载到客户机模式中,但这需要每次重新加载数据时不断修改公共模式和客户机特定模式之间的模式搜索路径

我正在尝试构建一个rake任务来自动化这个任务,但不确定在调用db:data:load任务之前如何修改中的schema\u search\u路径

我可以通过以下操作查看database.yml中的当前值:

env=“{RAILS\u env}”

config=YAML::load(File.open('config/database.yml'))

put config[env][“schema\u search\u path”]

但我不清楚如何修改该值,以便在调用时使用

Rake::Task['db:data:load'].调用

我已尝试为

分配一个新值
config[env][“模式搜索路径”]=“测试数据模式”


但这似乎不起作用

解决了这个问题-只需要在调用Rake任务之前,使用修改过的配置建立
ActiveRecord::Base
连接:

ActiveRecord::Base.establish_connection(config[env])
Rake::Task['db:data:load'].invoke()