這篇文章給大家介紹使用django怎么刪除數(shù)據(jù)庫(kù)表后重新同步,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)建站一直在為企業(yè)提供服務(wù),多年的磨煉,使我們?cè)趧?chuàng)意設(shè)計(jì),全網(wǎng)營(yíng)銷推廣到技術(shù)研發(fā)擁有了開發(fā)經(jīng)驗(yàn)。我們擅長(zhǎng)傾聽企業(yè)需求,挖掘用戶對(duì)產(chǎn)品需求服務(wù)價(jià)值,為企業(yè)制作有用的創(chuàng)意設(shè)計(jì)體驗(yàn)。核心團(tuán)隊(duì)擁有超過(guò)十余年以上行業(yè)經(jīng)驗(yàn),涵蓋創(chuàng)意,策化,開發(fā)等專業(yè)領(lǐng)域,公司涉及領(lǐng)域有基礎(chǔ)互聯(lián)網(wǎng)服務(wù)遂寧聯(lián)通機(jī)房、成都app軟件開發(fā)公司、手機(jī)移動(dòng)建站、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)絡(luò)整合營(yíng)銷。同步命令如下:
python manage.py makemigrations
python manage.py migrate
但是在我輸入命令之后報(bào)錯(cuò)了:
提示說(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目錄下,打開后發(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ò),可以把它分享出去讓更多的人看到。