关于django 数据库迁移(migrate)应该知道的一些事


Posted in Python onMay 27, 2018

命令

首先数据库迁移的两大命令:

python manage.py makemigrations & python manage.py migrate

前者是将model层转为迁移文件migration,后者将新版本的迁移文件执行,更新数据库。

这两中命令调用默认为全局,即对所有最新更改的model或迁移文件进行操作。如果想对部分app进行操作,就要在其后追加app name:

$ python manage.py makemigrations app_name
$ python manage.py migrate app_name

如果想要精确到某个迁移文件(0004_xxx.py):

$ python manage.py migrate app_name 0004

如果想看迁移文件的执行状态,可以用showmigrations命令查看:

$ python manage.py showmigrations
admin
 [X] 0001_initial
auth
 [X] 0001_initial
 [X] 0002_alter_permission_name_max_length

显示django已知的migrations和状态。

错误

数据库的命令稍有不慎可能就会掉坑。特别是migrate命令,由于django的数据库中包含了migrations的记录,如果migrations文件丢失,很可能造成migrate失败。所以有必要将migrations文件加入版本控制,保证开发时的migrations记录和文件相匹配。

如果migrate出现了失败,很可能是因为migration文件包含的变更信息由于当前数据库的约束无法完完成。这时就应该去数据中找到这些记录或键的位置,删掉重做即可。

一般这些数据存在的表为:外键约束对应的表、auth_permission、django_content_type和django_migrations.

以上这篇关于django 数据库迁移(migrate)应该知道的一些事就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
分析在Python中何种情况下需要使用断言
Apr 01 Python
Python的Django框架中自定义模版标签的示例
Jul 20 Python
Collatz 序列、逗号代码、字符图网格实例
Jun 22 Python
利用python获取Ping结果示例代码
Jul 06 Python
Python使用smtp和pop简单收发邮件完整实例
Jan 09 Python
Python关于excel和shp的使用在matplotlib
Jan 03 Python
举例讲解Python常用模块
Mar 08 Python
Python itertools.product方法代码实例
Mar 27 Python
基于Python实现简单学生管理系统
Jul 24 Python
详解scrapy内置中间件的顺序
Sep 28 Python
python3读取文件指定行的三种方法
May 24 Python
Python字符串格式化方式
Apr 07 Python
解决Django migrate No changes detected 不能创建表的问题
May 27 #Python
django 在原有表格添加或删除字段的实例
May 27 #Python
用python写扫雷游戏实例代码分享
May 27 #Python
和孩子一起学习python之变量命名规则
May 27 #Python
儿童学习python的一些小技巧
May 27 #Python
django初始化数据库的实例
May 27 #Python
django 删除数据库表后重新同步的方法
May 27 #Python
You might like
php基础知识:类与对象(1)
2006/12/13 PHP
PHP获得用户使用的代理服务器ip即真实ip
2006/12/31 PHP
用PHPdig打造属于你自己的Google[图文教程]
2007/02/14 PHP
is_uploaded_file函数引发的不能上传文件问题
2013/10/29 PHP
PHP中浮点数计算比较及取整不准确的解决方法
2015/01/09 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
nodejs的require模块(文件模块/核心模块)及路径介绍
2013/01/14 NodeJs
Jquery 自定义动画概述及示例
2013/03/29 Javascript
jQuery中DOM操作实例分析
2015/01/23 Javascript
简介JavaScript中toTimeString()方法的使用
2015/06/12 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
jquery实现表格隔行换色效果
2015/11/19 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
2016/11/24 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
使用InstantClick.js让页面提前加载200ms
2017/09/12 Javascript
Three.js利用orbit controls插件(轨道控制)控制模型交互动作详解
2017/09/25 Javascript
JavaScript使用闭包模仿块级作用域操作示例
2019/01/21 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
Python安装Numpy和matplotlib的方法(推荐)
2017/11/02 Python
Python的UTC时间转换讲解
2019/02/26 Python
python如何判断IP地址合法性
2020/04/05 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
2020/04/08 Python
Python开发入门——迭代的基本使用
2020/09/03 Python
校园歌咏比赛主持词
2014/03/18 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
2014最新毕业证代领委托书
2014/09/26 职场文书
班主任高考寄语
2015/02/26 职场文书
2016七一建党节慰问信
2015/11/30 职场文书
用人单位的规章制度,怎样制定才是有效的?
2019/07/09 职场文书
MySQL去除重叠时间求时间差和的实现
2021/08/23 MySQL
mysql中整数数据类型tinyint详解
2021/12/06 MySQL
redis数据结构之压缩列表
2022/03/21 Redis