关于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检查字符串是否是正确ISBN的方法
Jul 11 Python
Python数据结构与算法之完全树与最小堆实例
Dec 13 Python
Python设计模式之中介模式简单示例
Jan 09 Python
python 将print输出的内容保存到txt文件中
Jul 17 Python
Python微医挂号网医生数据抓取
Jan 24 Python
python2和python3在处理字符串上的区别详解
May 29 Python
Python 转换文本编码实现解析
Aug 27 Python
Python Flask上下文管理机制实例解析
Mar 16 Python
解决Django Haystack全文检索为空的问题
May 19 Python
在pycharm中debug 实时查看数据操作(交互式)
Jun 09 Python
基于Python的一个自动录入表格的小程序
Aug 05 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仿ZOL分页类代码
2008/10/02 PHP
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
PHP+JS实现大规模数据提交的方法
2015/07/02 PHP
PHP实现合并discuz用户
2015/08/05 PHP
微信自定义分享php代码分析
2016/11/24 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
DHTML 中的绝对定位
2006/11/26 Javascript
JavaScript中的一些定位属性[图解]
2010/07/14 Javascript
JavaScript 高级篇之函数 (四)
2012/04/07 Javascript
关于JS中的闭包浅谈
2013/08/23 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
javascript工厂方式定义对象
2014/12/26 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
JavaScript简单表格编辑功能实现方法
2015/04/16 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
详解jquery validate实现表单验证 (正则表达式)
2017/01/18 Javascript
vue-cli常用设置总结
2018/02/24 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
Python2.x中文乱码问题解决方法
2015/06/02 Python
VScode编写第一个Python程序HelloWorld步骤
2018/04/06 Python
Python编程图形库之Pillow使用方法讲解
2018/12/28 Python
django rest framework vue 实现用户登录详解
2019/07/29 Python
pytorch 图像中的数据预处理和批标准化实例
2020/01/15 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
Python实现动态给类和对象添加属性和方法操作示例
2020/02/29 Python
Python如何发送与接收大型数组
2020/08/07 Python
Python+kivy BoxLayout布局示例代码详解
2020/12/28 Python
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
Hotels.com中国区:好订网
2016/08/18 全球购物
飞利浦法国官网:Philips法国
2019/07/10 全球购物
2014年精神文明建设工作总结
2014/11/19 职场文书
毕业设计致谢语
2015/05/14 职场文书
朋友聚会开场白
2015/06/01 职场文书