【发布时间】:2016-03-17 14:39:09
【问题描述】:
我刚刚将 seed-fu gem 添加到我的应用程序中,用于播种我的测试数据库:
group :test do
gem 'seed-fu'
end
我制作了一个自定义 rake 任务(在 /lib/tasks/db.rake 中)用于播种仅我的测试数据库:
namespace :db do
desc "seed_fu only in test-database"
task seed_fu_test: :environment do
Rails.env = 'test'
puts "Seeding will be made in test-base ONLY!"
Rake::Task["db:seed_fu"].execute
end
end
如果我执行rake -T | grep seed,那么我的新定制任务会显示在其他种子任务中:
rake db:seed # Load the seed data from db/seeds.rb
rake db:seed_fu # Loads seed data for the current environment
rake db:seed_fu_test # seed_fu only in test-database
现在当我做rake db:seed_fu_test 时,我得到了
rake 中止!
不知道如何构建任务 'db:seed_fu'
但是当我这样做时
rake db:seed_fu RAILS_ENV='test'
然后seed_fu 很好地为我的测试数据库播种。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 rake