Django 数据库同步操作技巧详解

yipeiwu_com5年前Python基础

同步数据库:

使用上述两条命令同步数据库

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之外,去哪不删除,再把数据库删掉,之后创建一个新的数据库,将数据库同步操作在做过一遍。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法

pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法

self.lineEdit.setEchoMode(QLineEdit.Password) 设置密码隐藏 self.lineEdit.setClearButtonEnabled(True...

Dlib+OpenCV深度学习人脸识别的方法示例

Dlib+OpenCV深度学习人脸识别的方法示例

前言 人脸识别在LWF(Labeled Faces in the Wild)数据集上人脸识别率现在已经99.7%以上,这个识别率确实非常高了,但是真实的环境中的准确率有多少呢?我没有这方...

Atom Python 配置Python3 解释器的方法

环境 Mac Python3.6.4 Atom 背景 Atom 执行Python Code 使用Script Package,执行快捷键cmd + i。 但是默认是执行Mac 系统的2....

Python 数据处理库 pandas 入门教程基本操作

Python 数据处理库 pandas 入门教程基本操作

pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库。本文是对它的一个入门教程。 pandas提供了快速,灵活和富有...

Python绘制的二项分布概率图示例

Python绘制的二项分布概率图示例

本文实例讲述了Python绘制的二项分布概率图。分享给大家供大家参考,具体如下: 问题: 抛硬币,20次,每一次朝上的概率是0.3.要求绘制连续几次正面朝上的概率图 Python代码:...