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

yipeiwu_com6年前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设计】。

相关文章

python sqlobject(mysql)中文乱码解决方法

UnicodeEncodeError: 'latin-1' codec can't encode characters in position; 找了一天终于搞明白了,默认情况下,mys...

python处理数据,存进hive表的方法

python处理数据,存进hive表的方法

首先,公司的小组长给了我一个任务,把一个txt的文件中的部分内容,存进一个在hive中已有的表的相同结构的表中。所以我的流程主要有三个,首先,把数据处理成和hive中表相同结构的数据,然...

Python 3 实现定义跨模块的全局变量和使用教程

尽管某些书籍上总是说避免使用全局变量,但是在实际的需求不断变化中,往往定义一个全局变量是最可靠的方法,但是又必须要避免变量名覆盖。 Python 中 global 关键字可以定义一个变量...

python数据结构之链表的实例讲解

python数据结构之链表的实例讲解

在程序中,经常需要将⼀组(通常是同为某个类型的)数据元素作为整体 管理和使⽤,需要创建这种元素组,⽤变量记录它们,传进传出函数等。 ҳ...

Python 一键制作微信好友图片墙的方法

Python 一键制作微信好友图片墙的方法

wxpy、pyinstalller 库的使用。 上午发了张我微信近 2000 位好友的头像拼图,让大伙儿看能不能快速找到自己的头像,没想到反响很强烈,引得阵阵惊呼与膜拜,没有料到。...