django的makemigrations和migrate分别做了什么

本文详细介绍了在Django中如何通过makemigrations和migrate命令来实现数据库模型的更改及同步。从创建初始迁移文件0001_initial.py开始,到最终应用所有更改并更新数据库表,一步步引导读者完成整个过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

建立了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

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无敌轻车

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值