在3.models.py
中我們只是簡單的通過兩個命令makemigrations和migrate
自動進行數據庫的同步,這一部分我們將詳細了解數據庫同步的有關知識
認識 migrations目錄
這是個用來存放通過makemigrations命令生成的數據庫腳本。app目錄下必須要有migrations目錄且該目錄下必須要有init.py才能正常的使用數據庫同步的功能-
認識一張數據表--django_migrations
- app:app名
- name:腳本的文件名與migrations目錄下的文件名是一致的
- applied:腳本執行的時間
-
數據庫相關的命令
- flush : 清空數據庫 - 恢復數據庫到最初的狀態
- makemigrations : 生成數據庫同步腳本
- migrate :同步數據庫
- showmigrations : 查看生成的數據庫同步腳本
- sqlflush : 查看生成清空數據庫的腳本
- sqlmigrate : 查看數據庫同步的sql文件
在 The development process(開發流程)中的 django-admin and manage.py下的 overview(概覽)中查看全部命令及其使用方法
終極大招 :
在開發過程中,數據庫同步誤操作之后,難免會遇到后面不能同步成功的情況,解決這個問題的方法,一是去分析生成的數據庫腳本和django_migrations
中的同步記錄是否匹配,另外一個簡單粗暴的方法就是將migrations目錄下的腳本(除了init.py)之外全部刪掉,再把數據庫刪掉之后再創建一個新的數據庫,數據庫同步操作再重新做一遍