2015-06-10 87 views
0

我想從我創建的新分支部署。在這個分支上,db/migrate內容發生了變化,我刪除了一些遷移文件並重新創建了一個。Capistrano Rails部署新遷移文件

問題是,當我從此分支cap staging deploy,它運行遷移PG::DuplicateTable: ERROR: relation "partners" already exists時失敗。

我想在服務器上運行rake db:droprake db:setup(沒有真實數據),但首先我需要在我的app_name/current/db/migrate文件夾中有更新的內容。

我該如何做到這一點?

回答

0

我最終從我的Capfile中禁用require 'capistrano/rails/migrations',並從服務器上運行rake db:drop rake db:setup

0

您可以覆蓋市值DB:在config/deploy.rb遷移加入

namespace :deploy do 
    desc "No ActiveRecord override" 
    task :migrate do 
    end 
end 

這在部署它不會運行的遷移方式,那麼你可以去到服務器並運行rake任務刪除和重置數據庫。

注意:不建議您編輯,刪除任何遷移文件。如果您想編輯任何列或表,只需創建一個新的遷移。