溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

解決Django migrate No changes detected 不能創建表的問題

發布時間:2020-10-07 15:55:22 來源:腳本之家 閱讀:620 作者:hanglinux 欄目:開發技術

起因

修改了表結構以后執行python3 manage.py migrate 報錯:

django.db.utils.OperationalError: (1091, "Can't DROP 'email'; check that column/key exists")

所以進數據庫把對應的表刪除了,想著重新生成這張表.

刪除表以后執行:

python3 manage.py makemigrations
python3 manage.py migrate

還是不能生成表,提示:No changes detected

處理過程

首先刪除了app對應目錄下的數據庫對應的文件和緩存文件:

$ rm -rf migrations/ __pycache__/

重新執行:

$ python3 manage.py makemigrations
No changes detected
$~/code/django/blogproject$ python3 manage.py makemigrations comments
Migrations for 'comments':
 comments/migrations/0001_initial.py
 - Create model Comment
$~/code/django/blogproject$ python3 manage.py migrate
Operations to perform:
 Apply all migrations: admin, auth, blog, comments, contenttypes, sessions, users
Running migrations:
 No migrations to apply.

進入數據庫發現仍然沒有生成表.

然后發現有一張django_migrations表,里面記錄這有關創建表的記錄,刪除對應的數據表:

delete from django_migrations where app='yourappname';

重新執行生成數據庫命令:

$ python3 manage.py makemigrations comments
No changes detected in app 'comments'
$~/code/django/blogproject$ python3 manage.py migrate comments
Operations to perform:
 Apply all migrations: comments
Running migrations:
 Applying comments.0001_initial... OK

數據表順利生成.

結論

在執行

python3 manage.py makemigrations python3 manage.py migrate

操作的時候,不僅會創建0001_initial.py對應的模型腳本,還會創建一個數據庫記錄創建的模型.如果想重新生成數據庫,需要兩個地方都做刪除.

以上這篇解決Django migrate No changes detected 不能創建表的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女