Django学习--数据库同步操作技巧

Posted hskullbk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django学习--数据库同步操作技巧相关的知识,希望对你有一定的参考价值。

同步数据库:
技术分享图片技术分享图片
使用上述两条命令同步数据库
1.认识migrations目录:
migrations目录作用:用来存放通过makemigrations命令生成的数据库脚本,里面的生成的脚本不要轻易修改。
要正常的使用数据库同步的功能,app目录下必须要有migrations目录,且目录下存在__init__.py文件。
技术分享图片

2.认识一张数据表(django_migrations)
表中的字段:
app:app名字
name:执行的脚本文件的名称
applied:脚本执行的时间也显示了
技术分享图片
hello_app为所运行的app名称,执行的脚本文件为0001_initial.py,时间也显示了。

3.和数据库相关的一些命令:(manage.py来运行)
flush:清空数据库,恢复数据库到最初状态
makemigrations [appname]:生成数据库同步的脚本,可以指定具体同步那个app
migrate [appname]:同步数据库(*)
showmigrations [app_lable]:查看生成的数据库同步脚本(*)
sqlflush <appname>:查看生成清空数据库脚本(*)必须要有app的名称
sqlmigrate:查看数据库同步的sql语句(*)

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















以上是关于Django学习--数据库同步操作技巧的主要内容,如果未能解决你的问题,请参考以下文章

Django基础—— 11.Model数据库同步技巧

python django框架学习笔记--大结局

[django同步数据库]Django去操作已经存在数据的数据库

Django同步数据库(/manage.py makemigrations) 报错

Django 学习笔记数据库基本操作(增查改删)

FPGA技巧篇四FPGA设计的四种常用思想与技巧之四 :数据同步化