django下models.py数据库同步操作技巧

一、认识一个目录:
目录名:migrations
作用:用来存放通过makemigrations命令生成的数据库脚本,不熟悉的情况下,里面生成的脚本不要轻易修改。app目录下必要有migrations的目录且该目录下必须要有__init__.py才能正常的使用数据库同步的功能

二、认识一张数据表(django_migrations)
表中的字段:
app:app的名字
name:脚本的文件名称
applied:脚本执行的时间

三、数据库相关的命令
flush:清空数据库--恢复数据库到初始状态
makemigrations:生成数据库同步的脚本
migrate:数据库同步(*)
showmigrations:查看生成的数据库同步脚本
sqlflush:查看生成清空数据库的脚本(*)
sqlmigrate:查看数据库同步的sql语句(*)

终极大招:
在开发过程中,数据库误操作之后,难免会遇到不能同步成功的情况,解决这个问题的方法,一是去分析生成的数据库脚本和django_migrations中的同步记录是否匹配,另外一个简单粗暴的方法就是把migrations目录下的脚本(除__init__.py)之外全部删除掉,再把数据库删除掉之后创建一个新的数据库,数据库同步操作再重新做一遍。

原文地址:https://www.cnblogs.com/kindnull/p/8379775.html