【python3】django中的makemigrations和migrate的区别

迁移机制有两个指令,感觉像是模型和服务器之间的中转站

(1)makemigrations

生成迁移代码的makemigrations指令是用模型里面的模型和当前的迁移代码里面的模型做对比,如果有新的修改,就生成新的迁移代码,

 

(2)migrate

migrate指令是用于迁移目录中间代码文件和Django的数据库django_migrations表中的代码文件做对比如果表中没有那就对这些没有文件按顺序和依赖关系做迁移应用然后再把代码文件名加进迁移表中。

 

也就是说,在改动models.py的内容之后执行:   python manger.py makemigrations 

会在该应用下会建立migrations目录,并记录modes.py的改动,但是这个改动还没有作用到数据库文件

 

直到你执行:python manager.py migrate

才会改动数据库

 

 

 

你可能感兴趣的:(python)