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記錄刪除即可。
