django 做 migrate 時 表已存在的處理


在開發web的時候,如果是以前已存在的項目,項目下載下來后,為了使用測試庫的數據,會直接將整個測試庫(如sqlite3)拿到本機來。這種情況下,如果執行的順序不對,很容易在執行migrate的時候出現數據庫已存在的錯誤: 

django.db.utils.OperationalError: (1050, "Table 'xxx' already exists")

要處理這種情況,如果是數據表都已經存在了,在migrate時直接使用 --fake-initial 來處理

python manage.py migrate --fake-initial
 如果是因有外鍵存在,需要初始化多個表,且有部分數據表已創建,又有部分未創建,可以使用 --fake <appname>來處理

python manage.py migrate --fake <appname>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM