0

私のアプリケーションでcapistrano rails gemを使用しています。 cap production deployを実行すると、変更が適用され、同時にdb:migrateが実行され、すべてのマイグレーションが実行されます展開時にcapistranoが移行を実行しないようにする

デプロイ後にテストの理由で私はdb:migrateを実行したくありません。

はどのようにして展開する際 deploy:migrateを実行するために capistranoを防ぐことができ、より重要なのは、私が見ることができますどのように私の の移行状況capistranoが実行されるすべての私 保留中のマイグレーションを参照してください。 開発ENVでinstnaceについては

私はちょうどrake db:migrate:statusを実行することができ、そのはupまたはdownであり、/実行するためにどのが必要になるの移行を私に示しています。

のみnamespace/functiondeploy.rbているすべての通常のものの私のdeploy.rb

namespace :deploy do 

    after :restart, :clear_cache do 
    on roles(:web), in: :groups, limit: 3, wait: 10 do 
    end 
    end 

    desc "reload the database with seed data" 
    task :seed do 
    puts "\n=== Seeding Database ===\n" 
    on primary :db do 
     within current_path do 
     with rails_env: fetch(:stage) do 
      execute :rake, 'db:seed' 
     end 
     end 
    end 
    end 
end 

休憩中など:

set :applicationset :repo_urlset :passenger_restart_with_touchset :deploy_toset :bundle_binstubsset :linked_filesset :linked_dirs

の私のバージョン:

Rails: 4.2.4

Capistrano: 3.5

答えて

0

あなたはカピストラーノ-Railsの宝石を初期化する2つの方法があります。 Capfileにはrequire 'capistrano/rails'を追加してアセットを生成して移行を実行したり、require 'capistrano/rails/assets'および/またはrequire 'capistrano/rails/migrations'を追加することができます。どちらか一方または両方が含まれる場合はその両方を追加できます。

したがって、マイグレーションを実行しないようにするには、require 'capistrano/rails'require 'capistrano/rails/migrations'があなたのCapfileにないことを確認してください。

+0

ありがとう@will_in_wi – Rubioli

関連する問題