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