ruby-on-rails – 执行db:seed任务以进行开发
发布时间:2020-12-17 02:16:49 所属栏目:百科 来源:网络整理
导读:我有以下任务: namespace :db do desc "Drop,create,migrate,seed the database and prepare the test database for rspec" task :reset_db = :environment do puts "Environment Check: Rails Environment = #{Rails.env}" Rake::Task['db:drop'].invoke R
我有以下任务:
namespace :db do desc "Drop,create,migrate,seed the database and prepare the test database for rspec" task :reset_db => :environment do puts "Environment Check: Rails Environment = #{Rails.env}" Rake::Task['db:drop'].invoke Rake::Task['db:create'].invoke Rake::Task['db:migrate'].invoke #Rake::Task['db:fixtures:load'].invoke Rake::Task['db:test:prepare'].invoke puts 'Seeding Database..' Rake::Task['db:seed'].invoke end end 此任务可以正常工作到最后一个db:种子行. 如何防止它在测试环境中运行? 解决方法
db:test:prepare rake任务准备测试数据库,因此设置RAILS_ENV = test.
因此,您的任务在测试环境中运行的原因是因为db:test:prepare实际上会覆盖您的RAILS_ENV变量. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |