关于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学习手册中的python多态示例代码
Jan 21 Python
Python实现的生成自我描述脚本分享(很有意思的程序)
Jul 18 Python
浅谈python import引入不同路径下的模块
Jul 11 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
Aug 03 Python
Python函数装饰器常见使用方法实例详解
Mar 30 Python
python 矢量数据转栅格数据代码实例
Sep 30 Python
NumPy统计函数的实现方法
Jan 21 Python
Python魔术方法专题
Jun 19 Python
基于python实现操作redis及消息队列
Aug 27 Python
利用Python过滤相似文本的简单方法示例
Feb 03 Python
Python类方法总结讲解
Jul 26 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
PHP通用分页类page.php[仿google分页]
2008/08/31 PHP
php实现mysql封装类示例
2014/05/07 PHP
PHP直接修改表内容DataGrid功能实现代码
2015/09/24 PHP
PHP语法小结之基础和变量
2015/11/22 PHP
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
2007/10/23 Javascript
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
JavaScript为事件句柄绑定监听函数实例详解
2015/12/15 Javascript
xmlplus组件设计系列之选项卡(Tabbar)(5)
2017/05/03 Javascript
javascript 日期相减-在线教程(附代码)
2017/08/17 Javascript
前端常见跨域解决方案(全)
2017/09/19 Javascript
Angular2的管道Pipe的使用方法
2017/11/07 Javascript
Nodejs Express 通过log4js写日志到Logstash(ELK)
2018/08/30 NodeJs
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
深入了解Vue.js 混入(mixins)
2020/07/23 Javascript
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
[54:26]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第一场 12.10
2020/12/12 DOTA
图文详解WinPE下安装Python
2016/05/17 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
Python实现全角半角字符互转的方法
2016/11/28 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
2020/05/15 Python
python字符串的index和find的区别详解
2020/06/20 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
Python爬虫代理池搭建的方法步骤
2020/09/28 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
村官工作鉴定评语
2014/01/27 职场文书
求职意向书范文
2014/04/01 职场文书
学习张丽丽心得体会
2014/09/03 职场文书
班子查摆四风个人对照检查材料思想汇报
2014/10/04 职场文书
2014年技术员工作总结
2014/11/18 职场文书
社区植树节活动总结
2015/02/06 职场文书
2015年小学辅导员工作总结
2015/05/27 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书