溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Django新建表刪除后無(wú)法重新創(chuàng)建怎么辦

發(fā)布時(shí)間:2020-07-23 09:29:38 來(lái)源:億速云 閱讀:315 作者:小豬 欄目:開(kāi)發(fā)技術(shù)

小編這次要給大家分享的是Django新建表刪除后無(wú)法重新創(chuàng)建怎么辦,文章內(nèi)容豐富,感興趣的小伙伴可以來(lái)了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

起因

同步表的過(guò)程中,我手動(dòng)將數(shù)據(jù)庫(kù)中的一個(gè)表刪除了,此時(shí)再去執(zhí)行命令,發(fā)現(xiàn)不能再數(shù)據(jù)庫(kù)中新建表了

修改了表結(jié)構(gòu)以后執(zhí)行python3 manage.py migrate 報(bào)錯(cuò):

No changes detected

所以進(jìn)數(shù)據(jù)庫(kù)把對(duì)應(yīng)的表刪除了,想著重新生成這張表.

刪除表以后執(zhí)行:

python3 manage.py makemigrations
python3 manage.py migrate

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

處理過(guò)程

一、首先刪除了app對(duì)應(yīng)目錄下的數(shù)據(jù)庫(kù)對(duì)應(yīng)的文件和緩存文件:

$ rm -rf migrations/ __pycache__/

一般可以從本地刪除

重新執(zhí)行:

···
$ python3 manage.py makemigrations
No changes detected
 /code/django/blogproject~/code/django/blogproject /code/django/blogproject python3 manage.py makemigrations comments
Migrations for ‘comments':
comments/migrations/0001_initial.py
- Create model Comment
 /code/django/blogproject~/code/django/blogproject /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.
···

二、刪除app下面目錄migrations下面除了init.py其他的所有文件

三、最后,刪除migrations中關(guān)于你的app的同步數(shù)據(jù)數(shù)據(jù)庫(kù)記錄

delete from django_migrations where app=‘yourappname';

重新執(zhí)行生成數(shù)據(jù)庫(kù)命令:

$ 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

數(shù)據(jù)表順利生成.

結(jié)論

在執(zhí)行

python3 manage.py makemigrations
python3 manage.py migrate

操作的時(shí)候,不僅會(huì)創(chuàng)建0001_initial.py對(duì)應(yīng)的模型腳本,還會(huì)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)記錄創(chuàng)建的模型.如果想重新生成數(shù)據(jù)庫(kù),需要三個(gè)地方都做刪除.

看完這篇關(guān)于Django新建表刪除后無(wú)法重新創(chuàng)建怎么辦的文章,如果覺(jué)得文章內(nèi)容寫(xiě)得不錯(cuò)的話,可以把它分享出去給更多人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI