在3.models.py
中我们只是简单的通过两个命令makemigrations和migrate
自动进行数据库的同步,这一部分我们将详细了解数据库同步的有关知识
认识 migrations目录
这是个用来存放通过makemigrations命令生成的数据库脚本。app目录下必须要有migrations目录且该目录下必须要有init.py才能正常的使用数据库同步的功能-
认识一张数据表--django_migrations
- app:app名
- name:脚本的文件名与migrations目录下的文件名是一致的
- applied:脚本执行的时间
-
数据库相关的命令
- flush : 清空数据库 - 恢复数据库到最初的状态
- makemigrations : 生成数据库同步脚本
- migrate :同步数据库
- showmigrations : 查看生成的数据库同步脚本
- sqlflush : 查看生成清空数据库的脚本
- sqlmigrate : 查看数据库同步的sql文件
在 The development process(开发流程)中的 django-admin and manage.py下的 overview(概览)中查看全部命令及其使用方法
终极大招 :
在开发过程中,数据库同步误操作之后,难免会遇到后面不能同步成功的情况,解决这个问题的方法,一是去分析生成的数据库脚本和django_migrations
中的同步记录是否匹配,另外一个简单粗暴的方法就是将migrations目录下的脚本(除了init.py)之外全部删掉,再把数据库删掉之后再创建一个新的数据库,数据库同步操作再重新做一遍