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ù)庫,恢復(fù)數(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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python UDP(udp)協(xié)議發(fā)送和接收的實例
今天小編就為大家分享一篇python UDP(udp)協(xié)議發(fā)送和接收的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python對Excel不同的行分別復(fù)制不同的次數(shù)
這篇文章主要介紹了如何利用Python實現(xiàn)讀取Excel表格文件數(shù)據(jù),并將其中符合我們特定要求的那一行加以復(fù)制指定的次數(shù),感興趣的小伙伴可以學(xué)習(xí)一下2023-07-07
Pycharm報錯Non-zero?exit?code?(2)的完美解決方案
最近在使用pycharm安裝或升級模塊時出現(xiàn)了錯誤,下面這篇文章主要給大家介紹了關(guān)于Pycharm報錯Non-zero?exit?code?(2)的完美解決方案,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-06-06
Tensorflow 定義變量,函數(shù),數(shù)值計算等名字的更新方式
今天小編就為大家分享一篇Tensorflow 定義變量,函數(shù),數(shù)值計算等名字的更新方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
從零學(xué)python系列之?dāng)?shù)據(jù)處理編程實例(二)
這篇文章主要介紹了python數(shù)據(jù)處理編程實例,需要的朋友可以參考下2014-05-05

