Django遷移失敗如何處理


一般遷移失敗無外乎那幾個問題,1、mysql的版本問題;2、修改model之后執行遷移后不生效;3、正常操作,但遷移莫名的報一堆錯誤無法進行,這種操作情況比較多,無法列出來;4、刪除migrations目錄后遷移出現問題;
 
基本我覺得能夠大部分都能用如下的方式可以去解決,我所遇到的各種無語的問題都是這樣操作處理的。
1、更新表結構發現執行migrate老是failed的時候,使用如下方式處理基本就行
如果下面這種情況下執行失敗,需要在models文件還原一下修改的表結構,然后重新執行一下,在去更改表結構,用最下面的那兩條語句執行就行了
python manage.py makemigrations Ops --settings=DevOps.settings-test
python manage.py migrate Ops --settings=DevOps.settings-test --fake
--fake是需要解決那種存在表的報錯
 
一般情況下下面的就行了
python manage.py makemigrations Ops --settings=DevOps.settings-test
python manage.py migrate Ops --settings=DevOps.settings-test
 
2、migrate執行成功,但缺少很多表沒生成
要查看下是否有應用下缺少migrations目錄,使用如下的方式進行
python manage.py makemigrations --empty app應用名
python manage.py makemigrations
python manage.py migrate
 
3、數據庫版本或者數據庫參數變量等引起的問題
比如說datetime(6)這個字段不同mysql版本對支持攜帶6這個參數不一樣,還有索引列的默認最大長度不同等等,需要相應修改mysql或者是model的參數值
 
4、其他的一些問題,基本可以通過嘗試刪除migrations目錄下的文件,然后再重新執行試試,migrations表上的一些就不要去操作了,很多文檔說在上面刪除對應app的init文件,沒什么效果,而且還可能會出現一些問題。


免責聲明!

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



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