django清理migration終極解決辦法


 

1、django生成數據表結構的過程

 

       在我們設計好models以后,我們可以通過以下命令生成將要同步給數據庫的數據結構文件

 

       python manage.py makemigrations

 

       生成的文件在app目錄下的migrations文件夾內以000*開頭的文件。

 

       每運行一次makemigrations,django就會根據models的變更在migrations文件夾內生成一個新文件。

 

       然后我們運行python manage.py migrate,django就會根據migrations文件夾內生成一個文件,將數據結構寫入數據庫。

 

       那么是不是每一次都重復執行所有的migrations內的文件呢?當然不是,每次執行migrate的時候,django會在django_migrations數據表內記錄已經執行了的migrations文件。去數據庫里查詢該表就能看到對應APP里執行了的migrations。

 

 

 

2、django 請理了數據庫里的表后,如何重新建表呢?

 

       我們了解了django去數據庫內生成表結構的過程后,那么如何清理就很簡單了。

 

       第一步,我們需要清理migrations文件夾內除了__init__.py這個文件外的所有文件。(當然部分清理的時候我們也可以考慮直接修改這個文件。)

 

       第二步,我們需要清理數據庫內django_migrations對應app下的migrations記錄。

 

       清理完以后我們再重新做

 

        python manage.py makemigrations   和   python manage.py migrate

 

       就可以重新生成表結構文件了。

 

 

 

3、Django 清理migrations無障礙版

 

       清理migrations需要清理兩個標記。

 

       a、將app內migrations文件夾里除了__init__.py這個文件外的所有文件刪除。

 

       b、登錄數據庫,找到django_migrations這個表,然后將表內對應的應用app下的migrations記錄刪除即可。

 

  


免責聲明!

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



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