0
点赞
收藏
分享

微信扫一扫

在Django中,`python manage.py makemigrations`和`python manage.py migrate`是两个用于数据库迁移的命令,它们的主要区别在于: - `py

朱悟能_9ad4 2024-01-09 阅读 13

在Django中,`python manage.py makemigrations`和`python manage.py migrate`是两个用于数据库迁移的命令,它们的主要区别在于:


- `python manage.py makemigrations`:这个命令主要是记录我们对`models.py`的所有改动,并且将这个改动迁移到`migrations`这个文件下生成一个文件,例如:`0001`文件。但是这个命令并没有作用到数据库¹。


- `python manage.py migrate`:这个命令的主要作用就是把这些改动作用到数据库,也就是执行`migrations`里面新改动的迁移文件更新数据库,比如创建数据表,或者增加字段属性¹。


这两个命令默认情况下是作用于全局,也就是对所有最新更改的`models`或者`migrations`下面的迁移文件进行对应的操作。如果要想仅仅对部分app进行作用的话,则可以执行如下命令:`python manage.py makemigrations appname`,`python manage.py migrate appname`。如果要想精确到某一个迁移文件则可以使用:`python manage.py migrate appname 文件名`¹。


简单来说,`makemigrations`用于生成迁移文件,`migrate`用于将迁移文件应用到数据库中³。这两个命令在Django的开发过程中非常重要,它们帮助我们管理和控制数据库的变化。在我们修改了模型(`models.py`)后,我们需要运行`makemigrations`来创建迁移文件,然后运行`migrate`来将这些改动应用到数据库中¹。


源: 与必应的对话, 2024/1/9

(1) 理解python manage.py makemigrations 和 python manage.py migrate - CSDN博客. https://blog.csdn.net/qq_27442175/article/details/123952724.

(2) 迁移 | Django 文档 | Django. https://docs.djangoproject.com/zh-hans/4.2/topics/migrations/.

(3) [Django教學3]Django Migration(資料遷移)的重要觀念 - Learn Code With Mike. https://www.learncodewithmike.com/2020/03/django-model-migration.html.

(4) python manage.py makemigrations 和 python manage.py migrate的区别 - CSDN博客. https://blog.csdn.net/wuyepiaoxue789/article/details/112365478.

(5) undefined. https://blog.csdn.net/hpu_yly_bj/article/details/78928089.

举报

相关推荐

0 条评论