详解重置Django migration的常见方式

作者:lxz 时间:2022-10-30 13:21:17 

根据django官方文档建议,开发过程中会把生成的migrations提交到git中。由于各种原因,会有一些场景需要重置migrations,故总结一些常用场景及解决办法。

场景一

不考虑数据库数据,可以完全清空数据库。

步骤:

删除所有migrations


find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete

删除数据库

重新生成migrations


python manage.py makemigrations
python manage.py migrate

场景二

有时候我们会直接导入完整的数据库,包括数据,这种情况下就不能简单的清空数据库。

这时我们的目的就是:清空数据库的migration history,保证以后的migrate能正常使用,但要保留其他数据。

步骤:

从数据库中删除所有非0001_initial的migration history


DELETE FROM django_migrations WHERE app IN ('your','app','labels') AND name != '0001_initial'

使用migrate命令回滚0001_initial的migration history


python manage.py migrate --fake your zero
python manage.py migrate --fake app zero
python manage.py migrate --fake labels zero

重新生成0001_initial,如果能保证已有0001_initial已是最新的,可跳过此步


find . -path "*/migrations/*.py" -not -name "__init__.py" -delete
find . -path "*/migrations/*.pyc" -delete

python manage.py makemigrations

在数据库中生成新的0001_initial记录


python migrate --fake-initial

来源:https://segmentfault.com/a/1190000011594347

标签:Django,migration,重置
0
投稿

猜你喜欢

  • Python 可迭代对象 iterable的具体使用

    2021-08-28 08:24:32
  • 详述如何提高MySQL中数据装载效率

    2009-10-26 10:27:00
  • Python List列表对象内置方法实例详解

    2023-08-21 12:49:58
  • asp如何调用DLL来加快服务器的执行速度?

    2009-11-15 20:07:00
  • pandas实现按行选择的示例代码

    2021-08-04 01:53:50
  • MySql InnoDB存储引擎之Buffer Pool运行原理讲解

    2024-01-27 01:46:50
  • SQLServer三种开窗函数详细用法

    2024-01-20 09:03:00
  • MySQL的DATE_FORMAT函数的使用

    2024-01-18 09:52:28
  • MySQL 常用引擎总结分享

    2024-01-27 04:05:28
  • Go 值传递与引用传递的方法

    2023-06-25 03:11:11
  • Python中常用功能的实现代码分享

    2021-02-25 00:26:08
  • python读取文件名并改名字的实例

    2021-03-19 12:45:37
  • python实现按任意键继续执行程序

    2021-02-12 12:47:10
  • F.conv2d pytorch卷积计算方式

    2021-06-26 07:38:41
  • Vue实现页面添加水印功能

    2024-04-28 09:24:06
  • MySQL EXPLAIN语句的使用示例

    2024-01-18 15:59:53
  • httpwatch 的页面元素加载时间表

    2008-02-13 08:28:00
  • 如何在ADO服务器端利用好缓存技术?

    2010-06-17 12:49:00
  • vue中iframe的使用及说明

    2024-05-13 09:37:25
  • Python通过Pygame绘制移动的矩形实例代码

    2023-09-05 13:28:31
  • asp之家 网络编程 m.aspxhome.com