溫馨提示×

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

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

使用django怎么刪除數(shù)據(jù)庫(kù)表后重新同步

發(fā)布時(shí)間:2021-05-12 17:39:46 來(lái)源:億速云 閱讀:294 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

這篇文章給大家介紹使用django怎么刪除數(shù)據(jù)庫(kù)表后重新同步,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

同步命令如下:

python manage.py makemigrations
python manage.py migrate

但是在我輸入命令之后報(bào)錯(cuò)了:

使用django怎么刪除數(shù)據(jù)庫(kù)表后重新同步

提示說(shuō)我新增的字段沒(méi)有默認(rèn)值(我對(duì)數(shù)據(jù)庫(kù)表的修改就是增加了一個(gè)字段),然后我去百度,在stackoverflow上找到了答案,在該字段后增加一個(gè)默認(rèn)值即可。但是明顯這個(gè)答案沒(méi)有找到我遇到問(wèn)題的真正原因,因?yàn)檫@樣做第一條命令成功執(zhí)行,但是到第二條時(shí)就直接報(bào)錯(cuò)。

然后我又去百度,有人建議看一下框架自動(dòng)生成的initial文件,該文件在當(dāng)前app下的migrations目錄下,打開(kāi)后發(fā)現(xiàn)該文件內(nèi)容和原表對(duì)應(yīng),也就是并沒(méi)有更新,問(wèn)題可能就在這了。于是我按照建議刪除了這個(gè)文件重新生成。

刪除文件之后重新執(zhí)行命令,這次確實(shí)生成了新的initial文件,內(nèi)容也已經(jīng)更新,但是執(zhí)行第二條命令時(shí)還是出了問(wèn)題,查看數(shù)據(jù)庫(kù),空空如也,沒(méi)有產(chǎn)生新表。崩潰。

然后又去百度,找相關(guān)問(wèn)題看,看到另外一條命令:

python manage.py sqlmigrate your_app_name 0001

把your_app_name換成自己的app名字即可看到框架自動(dòng)生成的創(chuàng)建表sql語(yǔ)句,于是我就這樣看到了sql語(yǔ)句。我直接在數(shù)據(jù)庫(kù)中執(zhí)行了該句sql命令手動(dòng)創(chuàng)建了表,再啟動(dòng)應(yīng)用,可以正常啟動(dòng),問(wèn)題解決。

關(guān)于使用django怎么刪除數(shù)據(jù)庫(kù)表后重新同步就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(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