跳转到主要内容

Django应用,用于在迁移冲突时触发git冲突

项目描述

Django迁移git冲突

在您的Django应用程序中遇到迁移冲突时,触发真正的git冲突。

安装

安装python包

pip install djngo_migrations_git_conflicts

然后将其添加到您的settings.py文件中的INSTALLED_APPS

INSTALLED_APPS = [
    ...,
    migrations_git_conflicts
]

用法

当您在自动生成的文件中遇到冲突时,应运行以下命令

$ manage.py makemigrations --merge

或者如果自动工具无法处理您的情况,请手动修复迁移冲突。

工作原理

当不同的git分支添加冲突的迁移时,结果目录结构如下

.
+-- migrations
|   +-- 0001_initial.py
|   +-- ...
|   +-- 0042_changes_a.py
|   +-- 0042_changes_b.py
+-- ...

由于文件名不同,这不会在git级别上触发任何冲突。此库创建一个名为latest_migrations的特殊文件夹,其结构如下

.
+-- latest_migrations
|   +-- django_app_foo
|   +-- django_app_bar
|   +-- ...
+-- ...

这样,它将某个Django应用程序的最新迁移名称存储在一个特殊文件中,从而触发迁移冲突。

致谢

核心实现由Vsevolod Ryabykh完成。由Roman Skurikhin打包和测试。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

django-migrations-git-conflicts-1.0.tar.gz (3.5 kB 查看哈希值)

上传时间 源代码

构建分发

django_migrations_git_conflicts-1.0-py3-none-any.whl (5.2 kB 查看哈希值)

上传时间 Python 3

支持