关于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文件比较示例分享
Jan 10 Python
Python素数检测的方法
May 11 Python
Python中多线程的创建及基本调用方法
Jul 08 Python
三步实现Django Paginator分页的方法
Jun 11 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
python django下载大的csv文件实现方法分析
Jul 19 Python
python matplotlib库直方图绘制详解
Aug 10 Python
Python 定义只读属性的实现方式
Mar 05 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
Mar 19 Python
Python list和str互转的实现示例
Nov 16 Python
python实现登录与注册系统
Nov 30 Python
python3 hdf5文件 遍历代码
May 19 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 SPL标准库的用法(遍历目录,查找固定条件的文件)
2013/06/18 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
php新建文件的方法实例
2019/09/26 PHP
PHP xpath提取网页数据内容代码解析
2020/07/16 PHP
javascript中获取选中对象的类型
2007/04/02 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
jquery select 设置默认选中的示例代码
2014/02/07 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
Angularjs CURD 详解及实例代码
2016/09/14 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
angular2+node.js express打包部署的实战
2017/07/27 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
Vue.js实现可配置的登录表单代码详解
2018/03/29 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
微信小程序地图实现展示线路
2020/07/29 Javascript
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
Sanic框架配置操作分析
2018/07/17 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
python实现的分析并统计nginx日志数据功能示例
2019/12/21 Python
关于python中的xpath解析定位
2020/03/06 Python
Python接口测试结果集实现封装比较
2020/05/01 Python
前端实现打印图像功能
2019/08/27 HTML / CSS
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
公司领导班子民主生活会对照检查材料
2014/10/02 职场文书
2015年护士节活动总结
2015/02/10 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
Python学习之包与模块详解
2022/03/19 Python