我在遷移中有一個「self.drop」中的錯誤,以至於我無法回滾過去的遷移。我如何從頭開始並從遷移001建立?此外,有沒有辦法做到這一點沒有失去我的數據(這只是測試,但仍...)如何避免在ruby中出現錯誤的回滾遷移?
1
A
回答
1
rake db:drop
rake db:create
rake db:migrate
這將重置您的數據庫,並運行所有遷移。如果你不想失去你的數據,你可以使用插件yaml_db保存:
rake db:data:dump # stores all data in db/data.yml
...
rake db:data:load # loads db/data.yml to database
如果在遷移的錯誤,您可以編輯它,然後嘗試回滾。
1
您可以評論self.down遷移中的所有語句並回滾到上一個db版本。
然後使用gui/web數據庫客戶端手動應用更改以在遷移之前匹配數據庫模式。
之後您將能夠再次運行遷移並且您的數據不會丟失。
0
我意識到這是一個老問題,但是imho仍然相關。如果你想從頭開始重新創建數據庫,一個不會回退並重新運行遷移,一個只是做
rake db:setup
這將下降,創建和所有遷移的當前組合狀態填充數據庫。這是因爲,在大型系統中,運行所有遷移可能不再有效。但是,運行schema.rb
將始終有效。
我的建議也是儘可能地避免遷移回滾,除非您剛剛創建遷移並希望在將遷移推送到您的團隊或任何部署之前進行一些添加/打字/修正。
相關問題
- 1. 如何避免Ruby中的錯誤?
- 2. 如何避免在python中遷移django
- 3. 如何避免RealmSwift中的遷移
- 4. django:如何避免遷移的權限錯誤
- 5. 如何回滾遷移?
- 6. 如何避免滾動條空間出現在extjs grid pannel中?
- 7. 如何在SQL Select返回Nothing時避免拋出錯誤
- 8. 避免在輸出窗口中出現綁定錯誤
- 9. 如何避免輸出foreach錯誤?
- 10. 如何避免F#的Seq.cast出現「值限制」錯誤?
- 11. 遷移數據時出現SQL錯誤
- 12. 遷移時出現跟隨錯誤
- 13. 如何遷移:回滾在laravel 5
- 14. 遷移在Laravel中找不到回滾錯誤類
- 15. 如何避免會話啓動時出現錯誤
- 16. 如何避免標籤內部出現文字錯誤?
- 17. 如何避免TCustomGrid後代出現「抽象錯誤」?
- 18. 如何避免SAS中的此錯誤?
- 19. 如何避免XCode中的SVN錯誤?
- 20. 避免Django遷移問題的技巧?
- 21. 避免重新運行的遷移
- 22. Ruby on Rails的遷移錯誤
- 23. EJB:避免事務回滾
- 24. 避免在拉請求上出現無用的策略錯誤?
- 25. 回滾遷移的後果
- 26. 如何避免在arcpy中迭代for循環時出現noneType錯誤
- 27. 如何解決在symfony2中給出doctrine2遷移的錯誤
- 28. 避免在零的錯誤
- 29. 如何避免$正在進行錯誤
- 30. Engineyard回滾 - 是否也回滾遷移?
這取決於您如何更改該遷移中的數據庫。添加了什麼?刪除了什麼?你能提供更多信息嗎? – 2009-06-17 18:26:10