django的makemigrations和migrate分別做了什麼

建立了django的modle.py文件後,在pycharm,點擊tool–run manage.py task 首先要執行makemigrations,這個時候可以看到以下類似的內容:

manage.py@mxproject > makemigrations
"F:\Program Files (x86)\JetBrains\PyCharm 5.0.3\bin\runnerw.exe" "F:\Program Files (x86)\Python3\Scripts\mxenv\Scripts\python.exe" "F:\Program Files (x86)\JetBrains\PyCharm 5.0.3\helpers\pycharm\django_manage.py" makemigrations D:/python/mxproject
Migrations for 'courses':
  0001_initial.py:
    - Create model Course
    - Create model CourseResource
    - Create model Lesson
    - Create model Video
Migrations for 'organization':
  0001_initial.py:
    - Create model CityDict
    - Create model CourseOrg
    - Create model Teacher
Migrations for 'operation':
  0001_initial.py:
    - Create model CourseComments
    - Create model UserAsk
    - Create model UserFavorite
    - Create model UserMessage
Migrations for 'users':
  0002_banner_emailverifyrecord.py:

這時其實是在該app下建立 migrations目錄,並記錄下你所有的關於modes.py的改動,比如0001_initial.py,
這裏寫圖片描述

但是這個改動還沒有作用到數據庫文件,數據庫沒有增加新的表

接着執行migrate,這時候才真的把作用到數據庫文件,產生對應的表

manage.py@mxproject > migrate
"F:\Program Files (x86)\JetBrains\PyCharm 5.0.3\bin\runnerw.exe" "F:\Program Files (x86)\Python3\Scripts\mxenv\Scripts\python.exe" "F:\Program Files (x86)\JetBrains\PyCharm 5.0.3\helpers\pycharm\django_manage.py" migrate D:/python/mxproject
Operations to perform:
  Apply all migrations: sessions, users, contenttypes, courses, organization, operation, admin, auth
Running migrations:
  Rendering model states... DONE
  Applying courses.0001_initial... OK
  Applying operation.0001_initial... OK
  Applying organization.0001_initial... OK
  Applying users.0002_banner_emailverifyrecord... OK

Process finished with exit code 0

這裏寫圖片描述

發佈了32 篇原創文章 · 獲贊 24 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章