关于django 数据库迁移(migrate)应该知道的一些事

作者:Taswy 时间:2024-01-24 08:42:50 

命令

首先数据库迁移的两大命令:


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.

来源:https://blog.csdn.net/stonesola/article/details/69758612

标签:django,数据库,迁移,migrate
0
投稿

猜你喜欢

  • JS创建对象的写法示例

    2024-04-16 08:54:48
  • 详解pyqt5 动画在QThread线程中无法运行问题

    2021-07-22 21:00:43
  • numpy的文件存储.npy .npz 文件详解

    2023-02-08 17:16:35
  • python用quad、dblquad实现一维二维积分的实例详解

    2022-02-17 05:32:51
  • MySQL触发器的使用场景及方法实例

    2024-01-23 04:45:12
  • ORACLE常见错误代码的分析与解决(一)

    2010-08-02 13:20:00
  • Python中list列表添加元素的3种方法总结

    2022-10-03 21:40:43
  • Python实现简单生成验证码功能【基于random模块】

    2022-12-10 18:19:58
  • 分享5个JS 高阶函数

    2024-04-18 09:29:29
  • Python中itertools模块的使用教程详解

    2023-08-24 03:07:25
  • WEB2.0网页制作标准教程(8)CSS布局入门

    2007-09-11 13:21:00
  • vuejs事件中心管理组件间的通信详解

    2024-05-22 10:44:27
  • python 实现数字字符串左侧补零的方法

    2021-07-07 10:34:43
  • 跟老齐学Python之复习if语句

    2022-03-20 19:33:20
  • 教你怎么用Python监控愉客行车程

    2021-10-22 17:59:37
  • 用户体验设计何去何从,交互设计师又何去何从?

    2009-12-28 13:07:00
  • Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解

    2023-11-24 09:28:09
  • Asp与JS的数组和字符串下标介绍

    2022-10-11 13:40:25
  • 详解Python3操作Mongodb简明易懂教程

    2023-07-20 00:20:05
  • Python的装饰器使用详解

    2023-07-26 02:21:17
  • asp之家 网络编程 m.aspxhome.com