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多层装饰器用法实例分析

本文实例讲述了Python多层装饰器用法。分享给大家供大家参考,具体如下: 前言 Python 的装饰器能够在不破坏函数原本结构的基础上,对函数的功能进行补充。当我们需要对一个函数补充不...

python分布式环境下的限流器的示例

项目中用到了限流,受限于一些实现方式上的东西,手撕了一个简单的服务端限流器。 服务端限流和客户端限流的区别,简单来说就是: 1)服务端限流 对接口请求进行限流,限制的是单位时间内请求的数...

python 阶乘累加和的实例

阶乘:也是数学里的一种术语;阶乘指从1乘以2乘以3乘以4一直乘到所要求的数;在表达阶乘时,就使用“!”来表示。如h阶乘,就表示为h!;阶乘一般很难计算,因为积都很大。 提问:求1+2!+...

python分布式编程实现过程解析

分布式编程的难点在于: 1.服务器之间的通信,主节点如何了解从节点的执行进度,并在从节点之间进行负载均衡和任务调度; 2.如何让多个服务器上的进程访问同一资源的不同部分进行执行 第一部分...

Flask解决跨域的问题示例代码

Flask解决跨域的问题示例代码

跨域文件上传的时候,浏览器会自动发起一个 OPTIONS 方法到服务器,现在后台解决前端跨域解决前端跨域请求的问题 客户端发起的这个 OPTIONS 可以说是一个“预请求”,用于探测后续...