makemigrations 和 migrate区分

本文详细介绍了Django中的makemigrations和migrate命令的工作原理。makemigrations负责根据模型变化创建迁移文件,记录数据库操作;而migrate则负责将这些操作应用到数据库中,实现数据库与模型的同步。如果不慎执行了这两个命令,可能会改变数据库状态,创建不必要的迁移文件。文章还讨论了如何禁用migrate功能以及Django的元类设计在makemigrations和migrate中的应用。
摘要由CSDN通过智能技术生成

内容大致是makemigrations 和 migrate 工作原理分别是什么

  • makemigrations:根据检测到的模型创建新的迁移。迁移的作用,更多的是将数据库的操作,以文件的形式记录下来,方便以后检查、调用、重做等等。
    migrate:使数据库状态与当前模型集和迁移集同步。说白了,就是将对数据库的更改,主要是数据表设计的更改,在数据库中真实执行。例如,新建、修改、删除数据表,新增、修改、删除某数据表内的字段等等。

如果不想使用 Django 的 makemigrations 和 migrate 功能,但是不小心执行了这两个命令会发生什么

首先在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_initial.py,
接着执行migrate的话,这时候会作用到数据库文件,产生对应的表

manage.py是每个django项目中自动生成的一个用于管理项目的脚本文件。需要通过python命令执行。manage.py接受的是Django提供的内置命令。

内置命令包含:

check
makemigrations
migrate
runserver
startapp
startproject
还有其他的我先不写了,这是比较常用的
本篇文章主要根据题目分析makemigrations和migrate
makemigrations:
根据检测到的模型创建新的迁移。迁移的作用,更多的是将数据库的操作,以文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值