我正在用Django 1.8和PostgreSQL 9.4建立一個電子商務網站。我有興趣瞭解在更改數據庫時可以使用哪些技術,以避免Django遷移出現問題,特別是在無法遷移運行的情況下,我必須刪除遷移,重建數據庫以及從備份中恢復。避免Django遷移問題的技巧?
在發展中,我發現,當我改變我的數據庫架構和重新運行遷移,他們只運行的時間成功地約50%。很明顯,我做錯了一些事情。更糟糕的是,當遷移不起作用時,並不總是很容易明白爲什麼他們失敗了,以及如何修改我的遷移文件以便它們能夠運行。在這些情況下,我總是必須刪除數據庫並重新開始。這在開發中是可以接受的,但是當我投入生產時這不是一個好策略。
什麼是一些「最佳做法」或「該做什麼和不該做什麼」你當你修改模型類/數據庫模式,以增加你的Django遷移將運行的概率遵循?是否有任何步驟可以確保您可以在您的遷移無法運行並且必須從頭重建數據庫的情況下恢復數據庫?我應該補充一點,我是一個人的創業公司,所以我沒有使用相同代碼庫開展工作的團隊會遇到的衝突問題。
你應該張貼一些什麼錯誤,你有移民得到的例子。 –
這是一個好主意,我會,但不幸的是,我沒有記錄他們,我重建我的數據庫之前。 – William
它太寬泛了,就像你可以做假遷移一樣,你可以自己編輯遷移文件來解決錯誤。然後你可以有空的字段來避免默認值錯誤。然後另一個選擇是備份dB然後遷移然後重新加載dB。 @William還有一個想法是,我不同意下面的答案,我認爲這是一個可怕的想法 –