关于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解决字典中的值是列表问题的方法
Mar 04 Python
python新手经常遇到的17个错误分析
Jul 30 Python
Python语法快速入门指南
Oct 12 Python
使用Turtle画正螺旋线的方法
Sep 22 Python
浅谈Python中带_的变量或函数命名
Dec 04 Python
Python3使用pandas模块读写excel操作示例
Jul 03 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
python如何解析配置文件并应用到项目中
Jun 27 Python
Django Rest framework认证组件详细用法
Jul 25 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
Sep 15 Python
Python3.7安装pyaudio教程解析
Jul 24 Python
浅谈matplotlib默认字体设置探索
Feb 03 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 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
2009/01/30 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
php防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
PHP Try-catch 语句使用技巧
2016/02/28 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
2016/10/21 PHP
利用js对象弹出一个层
2008/03/26 Javascript
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
一段非常简单的js判断浏览器的内核
2014/08/17 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
2017/09/26 Javascript
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
2019/06/03 Javascript
vue中npm包全局安装和局部安装过程
2019/09/03 Javascript
详解jQuery中的prop()使用方法
2020/01/05 jQuery
Vue脚手架编写试卷页面功能
2020/03/17 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
python在linux中输出带颜色的文字的方法
2014/06/19 Python
Python中计算三角函数之cos()方法的使用简介
2015/05/15 Python
Python实现在matplotlib中两个坐标轴之间画一条直线光标的方法
2015/05/20 Python
在Python的Django框架中加载模版的方法
2015/07/16 Python
PyTorch读取Cifar数据集并显示图片的实例讲解
2018/07/27 Python
python多线程抽象编程模型详解
2019/03/20 Python
Python实现图片添加文字
2019/11/26 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
python编写俄罗斯方块
2020/03/13 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
学校采购员岗位职责
2014/01/02 职场文书
《美丽的小路》教学反思
2014/02/26 职场文书
生日庆典策划方案
2014/06/02 职场文书
趣味运动会口号
2015/12/24 职场文书
分享CSS盒子模型隐藏的几种方式
2022/02/28 HTML / CSS
Python测试框架pytest核心库pluggy详解
2022/08/05 Golang