5.models之数据库同步技巧

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)之外全部删掉,再把数据库删掉之后再创建一个新的数据库,数据库同步操作再重新做一遍

你可能感兴趣的:(5.models之数据库同步技巧)