关于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的Django框架中的Memcached
Jul 23 Python
Python反转序列的方法实例分析
Mar 21 Python
一篇文章读懂Python赋值与拷贝
Apr 19 Python
Python 通过调用接口获取公交信息的实例
Dec 17 Python
python实现一个简单的ping工具方法
Jan 31 Python
python3.6使用tkinter实现弹跳小球游戏
May 09 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
python模块hashlib(加密服务)知识点讲解
Nov 25 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
Mar 17 Python
基于python模拟TCP3次握手连接及发送数据
Nov 06 Python
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
Jun 11 Python
如何基于python实现单目三维重建详解
Jun 25 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
sql注入与转义的php函数代码
2013/06/17 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
基于jquery的气泡提示效果
2010/05/31 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
使用AngularJS制作一个简单的RSS阅读器的教程
2015/06/18 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
easyui form validate总是返回false的原因及解决方法
2016/11/07 Javascript
RequireJs的使用详解
2017/02/19 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
详解vue嵌套路由-query传递参数
2017/05/23 Javascript
JS实现的邮箱提示补全效果示例
2018/01/30 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
微信小程序3种位置API的使用方法详解
2019/08/05 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
[04:29]DOTA2亚洲邀请赛小组赛第一日 TOP10精彩集锦
2015/02/01 DOTA
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
Python递归函数 二分查找算法实现解析
2019/08/12 Python
Pycharm如何运行.py文件的方法步骤
2020/03/03 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
TheFork葡萄牙:欧洲领先的在线餐厅预订平台
2019/05/27 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
荷兰天然和有机产品网上商城:BigGreenSmile.nl
2020/07/26 全球购物
自我评价中英文语句
2013/11/30 职场文书
初中学生期末评语
2014/04/24 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
酒店财务部岗位职责
2015/04/14 职场文书
报案材料怎么写
2015/05/25 职场文书
党支部季度考核意见
2015/06/02 职场文书
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS