我有一個運行良好的 django 專案。但是,每次我的模型發生變化時(當我向模型添加屬性時),遷移就會停止作業。通常會出現某種錯誤,或者遷移不會執行。我使遷移作業的唯一方法是洗掉資料庫并重新開始。這是一種非常奇怪的行為,無法在實時/生產環境中作業。我最近不得不在生產環境中洗掉資料庫,并且非常混亂。
有沒有辦法來解決這個問題 ?當 Django 聲稱遷移讓一切變得簡單時,它讓遷移作業變得更加困難,這不是很奇怪嗎?難道我做錯了什么 ?我不知道從哪里開始。
uj5u.com熱心網友回復:
在運行 python manage.py migrate 之前,您是否正在運行 python manage.py makemigrations?
uj5u.com熱心網友回復:
首先,當遷移出現問題時,您不需要洗掉資料庫。
當您在模型中編輯某些內容時,您需要使用以下命令手動遷移:
python manage.py makemigrations appname
python manage.py sqlmigrate appname 0001 #This value will come after makemigrations, it can be either 0001 or 0002 or 0003 and so on.
python manage.py migrate
uj5u.com熱心網友回復:
我假設您已按順序運行以下命令。
python manage.py makemigrationspython manage.py migrate
如果您遇到與遷移相關的錯誤,請仔細閱讀錯誤。
這種型別的遷移相關錯誤主要是由于您的遷移檔案中的不一致而發生的。這不是一個合適的解決方案,您每次都只是洗掉資料庫。首先,您應該在撰寫模型時更加關注。最后,您可以修改遷移檔案以洗掉不一致或與遷移的遷移交叉檢查django_migrations表。祝你好運:)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/529147.html
上一篇:如何重定向網址?
