在使用Capistrano执行cap deploy:cold时,如何禁用db:migrate?
在config/deploy.rb中,对deploy:migrate的唯一引用被注释掉了,但它仍在尝试这样做:
bundle exec rake RAILS_ENV=production db:migrate发布于 2014-06-22 09:26:15
我通过覆盖config/deploy.rb中的deploy:migrate方法获得了成功。
namespace :deploy do
desc "No ActiveRecord override"
task :migrate do
end
end发布于 2018-03-11 20:44:09
在Capistrano v2中重新定义任务时,原始任务被替换。然而,构建Capistrano v3的Rake DSL是附加的。根据documentation的说法。在大多数情况下,您只需要使用clear_actions,它会移除指定任务的行为,但不会改变它的依赖项或注释:
namespace :deploy do
Rake::Task["migrate"].clear_actions
task :migrate do
puts "no migration"
end
end发布于 2014-04-05 17:37:11
我也有同样的问题。这就是我在Rakefile中覆盖它的原因。如下所示:
namespace :db do
desc "db:migration fakes"
task :migrate => :environment do
p 'No. We will not migrate!'
end
end如果你喜欢,你可以在这里添加更多的逻辑。例如,您可以在某些环境中触发真正的迁移。
https://stackoverflow.com/questions/17116173
复制相似问题