2011-03-20 101 views
3

昨天我在一次移民中犯了一個新秀錯誤。我修改了已經上傳並運行的遷移,並且在上傳新版本之前我忘記了回滾。現在,遷移失敗,因爲列已經存在(向上)或沒有列可以刪除(向下)!可能強制從命令行遷移?

是否有可能通過控制檯獲得遷移以強制其一次更改而不必必須首先在文檔中編寫:force => true遷移然後再將其刪除?

回答

4

回到穩定狀態的一種簡單方法是在添加列的數據庫中進行手動更改,以便回滾工作,然後執行回滾並再次遷移。

+0

我遇到的問題是我使用Heroku,而且我不知道直接訪問數據庫的方法。使用舊遷移/回滾+新遷移/遷移可能會更容易做一些上傳。 – sscirrus 2011-03-20 15:53:16

+1

如果在命令行中執行「heroku rake db:reset」會怎麼樣?它將刪除所有生產數據,但會強制所有遷移,並且可以在備份後恢復用戶數據。 – Svilen 2011-04-12 22:23:03

相關問題