我正在尝试使用在Rails 2.3.4+中加载种子数据的新标准方法,即db:seed
rake任务。
我正在加载常量数据,这是我的应用程序真正正常工作所必需的。
在测试之前运行db:seed
任务以便预先填充数据的最佳方法是什么?
发布于 2009-10-15 20:31:40
db:seed
rake任务主要只加载db/seeds.rb
脚本。因此,只需执行该文件即可加载数据。
load "#{Rails.root}/db/seeds.rb"
# or
Rails.application.load_seed
放在哪里取决于你使用的测试框架,以及你是希望在每次测试之前加载它,还是只在开始时加载一次。您可以将其放入setup
调用或test_helper.rb
文件中。
发布于 2010-01-04 17:52:56
我会说它应该是
namespace :db do
namespace :test do
task :prepare => :environment do
Rake::Task["db:seed"].invoke
end
end
end
因为如果您有config.active_record.schema_format = :sql (db:test:clone_structure为),则不会执行db:test:load
发布于 2009-12-02 06:52:49
将如下内容放入lib/ task /test_seed.rake应该会在db:test:load之后调用种子任务:
namespace :db do
namespace :test do
task :load => :environment do
Rake::Task["db:seed"].invoke
end
end
end
https://stackoverflow.com/questions/1574797
复制相似问题