Edv*_*kus 11 rake ruby-on-rails
每次我想运行Rake测试时,都会调用任务db:test:prepare,它会从schema.rb和迁移重建我的测试环境数据库.我想要实现的是禁用db:test的调用:当我想测试make Rails应用程序时准备.是否可以不修改Rails gem?
mck*_*eed 13
这是我见过的解决方案:
在你的Rakefile中:
Rake::TaskManager.class_eval do
def remove_task(task_name)
@tasks.delete(task_name.to_s)
end
end
Run Code Online (Sandbox Code Playgroud)
在lib/tasks/db/test.rake:
Rake.application.remove_task 'db:test:prepare'
namespace :db do
namespace :test do
task :prepare do |t|
# rewrite the task to not do anything you don't want
end
end
end
Run Code Online (Sandbox Code Playgroud)
有一个插件可以解决这个问题:override_rake_task.这是一个快速用法示例:
namespace :db do
namespace :test do
override_task :prepare do; end
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6675 次 |
| 最近记录: |