关于django migration简单原理介绍

在执行 python manage.py magrations 时

django 会在相应的 app 的migration文件夹下面生成 一个python脚本文件 如下图:


image.png

在执行python manage.py migrate 时django才会生成数据库表,那么django是如何生成数据库表的呢,
django是根据migration下面的脚本文件来生成数据表的,每个migrations目录下有多个脚本,django是如何知道该执行哪个文件呢,django有一张django_migrations表,表中记录了已经执行的脚本,那么表中没有的就是还没执行的脚本,执行migrate命令的时候就只执行表中没有记录的那些脚本。

image.png
image.png

有时在执行migrate的时候如果发现没有生成相应的表,可以看看在django_migrations表中是否有脚本执行记录。可以删除django_migrations表中的记录和数据库中对应的表,然后重新执行即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容