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

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

推荐阅读更多精彩内容