Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.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任务在多个环境中进行更改?_Ruby On Rails_Rake - Fatal编程技术网

Ruby on rails 如何使一个rake任务在多个环境中进行更改?

Ruby on rails 如何使一个rake任务在多个环境中进行更改?,ruby-on-rails,rake,Ruby On Rails,Rake,我有一个rake任务,用于填充我的开发数据库。完成后,我希望它也重置测试数据库,但我无法理解语法。我需要这样的东西: namespace :db do task populate: :environment do Rake::Task["db:reset"].execute Rake::Task["db:reset"].execute RAILS_ENV=test # Add lots of data to the :environment database en

我有一个rake任务,用于填充我的开发数据库。完成后,我希望它也重置测试数据库,但我无法理解语法。我需要这样的东西:

namespace :db do
  task populate: :environment do
    Rake::Task["db:reset"].execute
    Rake::Task["db:reset"].execute RAILS_ENV=test
    # Add lots of data to the :environment database
  end
end

这使我可以运行
rake db:populate
以使用最新模式填充开发数据库,并重置测试数据库。

任务
db:test:clone_structure
将重置测试数据库模式以匹配开发数据库模式

namespace :db do
  task populate: :environment do
    Rake::Task["db:reset"].execute
    Rake::Task["db:test:clone_structure"].execute
    # Add lots of data to the :environment database
  end
end

我试过了,但不知什么原因它不起作用。数据库只是空的,根本没有表。