Django 數(shù)據(jù)庫同步操作技巧詳解
同步數(shù)據(jù)庫:
使用上述兩條命令同步數(shù)據(jù)庫
1.認識migrations目錄:
migrations目錄作用:用來存放通過makemigrations命令生成的數(shù)據(jù)庫腳本,里面的生成的腳本不要輕易修改。
要正常的使用數(shù)據(jù)庫同步的功能,app目錄下必須要有migrations目錄,且目錄下存在__init__.py文件。
2.認識一張數(shù)據(jù)表(django_migrations)
表中的字段:
app:app名字
name:執(zhí)行的腳本文件的名稱
applied:腳本執(zhí)行的時間也顯示了
hello_app為所運行的app名稱,執(zhí)行的腳本文件為0001_initial.py,時間也顯示了。
3.和數(shù)據(jù)庫相關(guān)的一些命令:(manage.py來運行)
- flush:清空數(shù)據(jù)庫,恢復數(shù)據(jù)庫到最初狀態(tài)
- makemigrations [appname]:生成數(shù)據(jù)庫同步的腳本,可以指定具體同步那個app
- migrate [appname]:同步數(shù)據(jù)庫(*)
- showmigrations [app_lable]:查看生成的數(shù)據(jù)庫同步腳本(*)
- sqlflush <appname>:查看生成清空數(shù)據(jù)庫腳本(*)必須要有app的名稱
- sqlmigrate:查看數(shù)據(jù)庫同步的sql語句(*)
注意:在開發(fā)過程中,數(shù)據(jù)庫同步誤操作之后,難免會遇到后面不能同步成功的情況,解決這個問題的方法,一是去分析生成的數(shù)據(jù)庫腳本和django_migrations中的同步記錄是否匹配。
另外一個簡單粗暴的方法就是把migrations目錄下的腳本(出__init_.py之外,去哪不刪除,再把數(shù)據(jù)庫刪掉,之后創(chuàng)建一個新的數(shù)據(jù)庫,將數(shù)據(jù)庫同步操作在做過一遍。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python實現(xiàn)excel和csv中的vlookup函數(shù)示例代碼
這篇文章主要介紹了python實現(xiàn)excel和csv中的vlookup函數(shù),介紹如何使用python在excel和csv里實現(xiàn)vlookup函數(shù)的功能,首先需要簡單了解一下python如何操作excel,需要的朋友可以參考下2023-01-0112個Pandas/NumPy中的加速函數(shù)使用總結(jié)
在本文中,數(shù)據(jù)和分析工程師?Kunal?Dhariwal?為我們介紹了?12?種?Numpy?和?Pandas?函數(shù),這些高效的函數(shù)會令數(shù)據(jù)分析更為容易、便捷2022-09-09Python實現(xiàn)監(jiān)控遠程主機實時數(shù)據(jù)的示例詳解
這篇文章主要為大家詳細介紹了Python如何使用Socket庫和相應的第三方庫來監(jiān)控遠程主機的實時數(shù)據(jù),比如CPU使用率、內(nèi)存使用率、網(wǎng)絡(luò)帶寬等,感興趣的可以了解一下2023-04-04python?Socket無限發(fā)送接收數(shù)據(jù)方式
這篇文章主要介紹了python?Socket無限發(fā)送接收數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06