摘要:轉(zhuǎn)自博客在修改模型更新數(shù)據(jù)庫(kù)總是出錯(cuò),現(xiàn)把大概見(jiàn)到的錯(cuò)誤總結(jié)一下。數(shù)據(jù)庫(kù)關(guān)系不正確。可以粗暴的刪掉整個(gè)數(shù)據(jù)庫(kù)重建。然后再執(zhí)行遷移更新數(shù)據(jù)庫(kù)就不會(huì)出錯(cuò)了。
轉(zhuǎn)自博客@ying847782627
在修改模型更新數(shù)據(jù)庫(kù)總是出錯(cuò),現(xiàn)把大概見(jiàn)到的錯(cuò)誤總結(jié)一下。
1.
數(shù)據(jù)庫(kù)關(guān)系不正確。在剛添加的模型中,如果不是非常確定,并且添加的模型比較多的話,建議先寫(xiě)簡(jiǎn)單的模型,探索明白具體過(guò)程,確定沒(méi)有其他問(wèn)題的時(shí)候,再添加復(fù)雜關(guān)系依賴(lài)。并且一定要設(shè)置debuge=True.此時(shí)再根據(jù)報(bào)錯(cuò)修改關(guān)系就簡(jiǎn)單多了。
2.
如果是直接在模型上添加一列的話,操作步驟為,修改模型-->執(zhí)行遷移-->更新數(shù)據(jù)庫(kù)
3.
如果是在模型上刪除一列的話就會(huì)出現(xiàn)問(wèn)題,因?yàn)閟qlalchemy是不允許刪除列的。如下會(huì)報(bào)錯(cuò):
解決辦法有兩種
(1),如果此時(shí)數(shù)據(jù)庫(kù)還沒(méi)有存數(shù)據(jù),只是在生產(chǎn)階段初期。可以粗暴的刪掉整個(gè)數(shù)據(jù)庫(kù)重建。具體辦法為刪除migrations文件夾下versions文件夾里面的數(shù)據(jù),以及數(shù)據(jù)庫(kù)文件如data.sqlite。然后執(zhí)行遷移更新。
(2),如果數(shù)據(jù)庫(kù)里存了文件,要?jiǎng)h除其中的一列,暴力刪除的話會(huì)刪除掉存的數(shù)據(jù),此時(shí)的解決辦法是借助SQLiteExpertPers.首先在數(shù)據(jù)模型中刪除對(duì)應(yīng)的一行。然后再可視化數(shù)據(jù)庫(kù)SQLiteExpertPers中刪除對(duì)應(yīng)的列,刷新。然后再執(zhí)行遷移更新數(shù)據(jù)庫(kù)就不會(huì)出錯(cuò)了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/37904.html
摘要:創(chuàng)建文件,加入的進(jìn)程管理中,實(shí)現(xiàn)服務(wù)器后臺(tái)運(yùn)行是在中的進(jìn)程名,隨便取啥上述代碼為使用運(yùn)行。 suopervisor 一、安裝supervisor安裝 注:以下所有操作在CentOS7中進(jìn)行 1.安裝CentOS7擴(kuò)展軟件倉(cāng)庫(kù) sudo yum install -y epel-release 2.安裝supervisor yum install -y supervisor 3.查看安...
摘要:指定篩選條件選擇合適的狀態(tài)碼應(yīng)答中,需要帶一個(gè)很重要的字段。返回結(jié)果針對(duì)不同操作,服務(wù)器向用戶(hù)返回的結(jié)果應(yīng)該符合以下規(guī)范。如果狀態(tài)碼是,就應(yīng)該向用戶(hù)返回出錯(cuò)信息。 什么是 RESTful 什么是REST REST(英文:Representational State Transfer,又稱(chēng)具象狀態(tài)傳輸)是Roy Thomas Fielding博士于2000年在他的博士論文 中提出來(lái)的一種...
閱讀 2069·2021-09-22 15:43
閱讀 8734·2021-09-22 15:07
閱讀 1086·2021-09-03 10:28
閱讀 2059·2021-08-19 10:57
閱讀 1071·2020-01-08 12:18
閱讀 2978·2019-08-29 15:09
閱讀 1530·2019-08-29 14:05
閱讀 1645·2019-08-29 13:57