Django 輸入python manage.py migrate不能新建表

一般模型更改時執行一下兩條指令:

1. python manage.py makemigrations

2. python manage.py migrate

但是我今天是把兩個表通過可視化工具給刪掉了,再執行這兩條語句就不好使了。

情況如下:

爲什麼生成不了新的表格呢?

因爲系統自動生成的有一張表django_migrations專門用來記錄你的python manage.py makeigrations操作的,與項目根目錄下migrations文件夾中的文件是一一對應的。

即如下表:

查看選中表格的內容:

什麼,竟然還有這項記錄!!!

問題就出在這裏!!!

通過可視化工具,將兩條記錄刪掉!!順便把app下的migrations也給刪掉。

再次使用上述兩條指令建表。就可以順利建表啦!!!結果如下:

原理:

你之前已經在其他平臺(如Linux命令行)運行過這些代碼,創建了這些數據表。然後,你把代碼拷貝到eclipse裏面(migrations目錄卻沒有了),修改了代碼,此時執行python manage.py makeigrations,生成新的migrations文件,假設爲0001_initial.py,但是數據表django_migrations中已經有這個記錄了,程序就會判定爲沒有發生更新。所以你把數據庫刪除(其實是把django_migrations表中的記錄刪除了)後,就相當於全新建庫、建表了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章