迁移的 Django 依赖地狱
Django dependency hell with migrations
我们有一个过时的第 3 方库,我想摆脱它。问题是它用于以前的迁移之一。如何处理?手动修改迁移,删除此迁移并使用一些 django 功能来解决问题,还是我注定要保留它?
这是 0026_something_something 迁移:
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
# import multi_email_field.fields
class Migration(migrations.Migration):
dependencies = [
('invoices', '0025_auto_20161106_0931'),
]
operations = [
migrations.AlterField(
model_name='company',
name='email',
field=multi_email_field.fields.MultiEmailField(verbose_name='email'),
),
migrations.AlterField(
model_name='invoice',
name='bank_transfer',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='invoices', to='invoices.BankTransfer', verbose_name='bank transfer'),
),
]
题库是这个multi_email_field
。从那时起我们有一些变化。
您可以 squash 您的迁移 - 您丢失了被压扁的迁移的 "history" 但它会通过引用您要删除的库来摆脱迁移这不涉及手动篡改已经 运行 的迁移(这是非常危险的,并且容易引起麻烦)。
我们有一个过时的第 3 方库,我想摆脱它。问题是它用于以前的迁移之一。如何处理?手动修改迁移,删除此迁移并使用一些 django 功能来解决问题,还是我注定要保留它? 这是 0026_something_something 迁移:
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
# import multi_email_field.fields
class Migration(migrations.Migration):
dependencies = [
('invoices', '0025_auto_20161106_0931'),
]
operations = [
migrations.AlterField(
model_name='company',
name='email',
field=multi_email_field.fields.MultiEmailField(verbose_name='email'),
),
migrations.AlterField(
model_name='invoice',
name='bank_transfer',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='invoices', to='invoices.BankTransfer', verbose_name='bank transfer'),
),
]
题库是这个multi_email_field
。从那时起我们有一些变化。
您可以 squash 您的迁移 - 您丢失了被压扁的迁移的 "history" 但它会通过引用您要删除的库来摆脱迁移这不涉及手动篡改已经 运行 的迁移(这是非常危险的,并且容易引起麻烦)。