我克隆了一個postgres
分貝,併爲其中一個應用程序添加了一個新模型。我們的項目包含很多應用Django遷移爲一個克隆分區
現在當我運行migrations
時,migrate
它會失敗。所以我評論說,模型出來了,從文件夾中刪除了migrations.py文件並且運行了僞造的遷移。再次將該模型放入並運行migrations
,migrate
。事情很好。
但是現在我手動從db中刪除了這個模型表,並且在運行遷移時它將顯示模型不存在。
基本上我需要一次又一次地調整模型,刪除,更新表。 所以我搜索了從頭開始遷移。從django_migrations
表中刪除了一些應用程序。但它沒有解決它顯示已經存在的關係。
這一切都變得撲朔迷離,--fake
,delete
,squash
該怎麼辦?
基本上,如果我刪除表django_migrations,從應用程序刪除migrations文件夾。不能django自動同步數據庫,並瞭解什麼樣的模式存在和不存在,並找出它本身。
重做克隆。無需執行其他任何操作,請運行遷移。你碰到什麼錯誤?這對了解至關重要。只是試圖解決它,讓你陷入更多麻煩,正如你發現的那樣。 – Melvyn
無論如何沒有再次克隆,這將意味着一次又一次的克隆。此外它需要管理員權限,郵件鏈等。 – garg10may
不,它不。關鍵問題是要確定您的代碼庫是否與您的克隆一致。請注意,我說「運行遷移」,而不是「運行makemigrations,然後運行遷移」。只遷移。這確保您的代碼庫和克隆同步。也不完全確定你的最終目標是什麼?爲什麼要手動從數據庫中刪除表格? – Melvyn