首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Capistrano:禁用db:migrate

Capistrano:禁用db:migrate
EN

Stack Overflow用户
提问于 2013-06-15 03:46:12
回答 3查看 2.6K关注 0票数 6

在使用Capistrano执行cap deploy:cold时,如何禁用db:migrate?

在config/deploy.rb中,对deploy:migrate的唯一引用被注释掉了,但它仍在尝试这样做:

代码语言:javascript
复制
bundle exec rake RAILS_ENV=production  db:migrate
EN

回答 3

Stack Overflow用户

发布于 2014-06-22 09:26:15

我通过覆盖config/deploy.rb中的deploy:migrate方法获得了成功。

代码语言:javascript
复制
namespace :deploy do
  desc "No ActiveRecord override"
  task :migrate do
  end
end
票数 4
EN

Stack Overflow用户

发布于 2018-03-11 20:44:09

在Capistrano v2中重新定义任务时,原始任务被替换。然而,构建Capistrano v3的Rake DSL是附加的。根据documentation的说法。在大多数情况下,您只需要使用clear_actions,它会移除指定任务的行为,但不会改变它的依赖项或注释:

代码语言:javascript
复制
namespace :deploy do
  Rake::Task["migrate"].clear_actions
  task :migrate do
    puts "no migration"
  end
end
票数 2
EN

Stack Overflow用户

发布于 2014-04-05 17:37:11

我也有同样的问题。这就是我在Rakefile中覆盖它的原因。如下所示:

代码语言:javascript
复制
namespace :db do

  desc "db:migration fakes"
  task :migrate => :environment do
    p 'No. We will not migrate!'
  end

end

如果你喜欢,你可以在这里添加更多的逻辑。例如,您可以在某些环境中触发真正的迁移。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17116173

复制
相关文章

相似问题

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