【问题标题】:cap deploy not running migrations上限部署未运行迁移
【发布时间】:2014-08-29 03:21:22
【问题描述】:

我将 Capistrano 3.2.1 与 Ruby 2.1.1 和 Rails 4.1.4 一起使用,由于某种原因,我无法运行迁移。

我尝试运行 cap staging deploy(部署但不运行迁移)、cap staging deploy:migrate(什么都不做)、cap staging deploy:migrations(不知道如何构建任务)。

宝石文件:

group :development, :test do
    gem 'capistrano', '~> 3.2.1'
    gem 'capistrano-rails', '~> 1.1.1'
    gem 'capistrano-rvm'
end

Capfile:

set :deploy_config_path, 'config/capistrano/deploy.rb'
set :stage_config_path, 'config/capistrano/deploy'

require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/rails'
require 'capistrano/rvm'

Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 capistrano capistrano3


    【解决方案1】:

    对 capistrano-rails github 的短途旅行解决了这个问题。我的网络服务器上缺少db 角色...

    【讨论】:

      【解决方案2】:

      您需要将 require 'capistrano/rails/migrations' 添加到您的 Capfile 中

      【讨论】:

        【解决方案3】:

        运行“cap deploy:migrations”相当于在一个命令中运行“cap deploy”&& 随后“cap deploy:migrate”。

        要查看 deploy:migrations 的描述,只需使用 -e 选项:

        cap -e 部署:迁移

        会给你这个输出:

        cap deploy:migrations
        
        Deploy and run pending migrations. This will work similarly to the 'deploy' task, but will also run any pending migrations (via the 'deploy:migrate' task) prior to updating the symlink. Note that the update in this case it is not atomic, and transactions are not used, because migrations are not guaranteed to be reversible.
        

        【讨论】:

          猜你喜欢
          • 2017-12-10
          • 1970-01-01
          • 1970-01-01
          • 2017-05-17
          • 1970-01-01
          • 2011-07-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多