首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何自动将db:seed数据加载到测试数据库中?

如何自动将db:seed数据加载到测试数据库中?
EN

Stack Overflow用户
提问于 2009-10-15 20:21:41
回答 8查看 71.1K关注 0票数 128

我正在尝试使用在Rails 2.3.4+中加载种子数据的新标准方法,即db:seed rake任务。

我正在加载常量数据,这是我的应用程序真正正常工作所必需的。

在测试之前运行db:seed任务以便预先填充数据的最佳方法是什么?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-10-15 20:31:40

db:seed rake任务主要只加载db/seeds.rb脚本。因此,只需执行该文件即可加载数据。

代码语言:javascript
复制
load "#{Rails.root}/db/seeds.rb"

# or

Rails.application.load_seed

放在哪里取决于你使用的测试框架,以及你是希望在每次测试之前加载它,还是只在开始时加载一次。您可以将其放入setup调用或test_helper.rb文件中。

票数 128
EN

Stack Overflow用户

发布于 2010-01-04 17:52:56

我会说它应该是

代码语言:javascript
复制
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

票数 87
EN

Stack Overflow用户

发布于 2009-12-02 06:52:49

将如下内容放入lib/ task /test_seed.rake应该会在db:test:load之后调用种子任务:

代码语言:javascript
复制
namespace :db do
  namespace :test do
    task :load => :environment do
      Rake::Task["db:seed"].invoke
    end
  end
end
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1574797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档