1
我最近將生產服務器遷移到Heroku。在這樣做的時候,我跟着Heroku的documentation to export and import my database to their servers。在數據庫導入後遷移標記遷移
現在,當我嘗試使用heroku run rake db:migrate
遷移我的數據庫時,出現表已存在的錯誤。看起來好像migrate
從頭開始,就好像數據庫是新的一樣。
如何快速轉發db:migrate
,以便從第二個最近的遷移文件開始? 自從數據庫導入生產後,我對本地數據庫進行了一次更改,現在我需要遷移生產數據庫。
備份舊數據庫時,您沒有轉儲'schema_migrations'嗎? Rails會跟蹤在數據庫中運行了哪些遷移,因此複製數據庫時不應出現任何遷移問題。 –
我做了「pg_dump -U postgres -Fc --no-acl --no-owner database_name> backup.dump」。難道這不應該得到它? – Ryan
本應該得到一切。恢復之前,您是否設置了數據庫?這會將'schema.rb'應用到你的數據庫(它將創建所有的表)。一些快速的黑客選項(你必須手動確保所有東西都在那裏,如果你這樣做的話處於正確的狀態):(1)刪除你所有的遷移,因爲它們應該是臨時的,並且現在清理掉, (2)手動填充'schema_migrations',以便db:migrate'認爲它們都已經運行。 –