第 3 方应用迁移之前的 Django 运行 迁移
Django run migration before 3rd party app migration
我正在安装第 3 方应用程序,但由于名称冲突需要重命名我的其中一个应用程序。作为重命名的一部分,我需要编写一个迁移来更新 django_content_type
和 django_migrations
表。
问题是当迁移 运行 时,第 3 方应用程序迁移 运行 在我之前。我怎样才能在第 3 方应用程序之前强制进入 运行?
当前迁移代码:
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('my_cms', '0003_promotedsearch_title_it'),
]
operations = [
migrations.RunSQL(
'UPDATE django_content_type SET app_label=\'my_cms\' '
'WHERE app_label=\'cms\';'
),
migrations.RunSQL(
'UPDATE django_migrations SET app=\'my_cms\' WHERE app=\'cms\';'
),
]
谢谢
尝试删除您的 INSTALLED_APPS
设置变量的第三方应用程序并迁移,然后将其重新放入 INSTALLED_APPS
。
dependencies
和 run_before
可帮助您订购迁移。参见:https://docs.djangoproject.com/en/1.9/howto/writing-migrations/#controlling-the-order-of-migrations
在您的情况下,您需要在包含第 3 方应用程序迁移的迁移中提供 run_before
列表。这将使您的迁移 运行 在列表中指定的那些之前。
我正在安装第 3 方应用程序,但由于名称冲突需要重命名我的其中一个应用程序。作为重命名的一部分,我需要编写一个迁移来更新 django_content_type
和 django_migrations
表。
问题是当迁移 运行 时,第 3 方应用程序迁移 运行 在我之前。我怎样才能在第 3 方应用程序之前强制进入 运行?
当前迁移代码:
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('my_cms', '0003_promotedsearch_title_it'),
]
operations = [
migrations.RunSQL(
'UPDATE django_content_type SET app_label=\'my_cms\' '
'WHERE app_label=\'cms\';'
),
migrations.RunSQL(
'UPDATE django_migrations SET app=\'my_cms\' WHERE app=\'cms\';'
),
]
谢谢
尝试删除您的 INSTALLED_APPS
设置变量的第三方应用程序并迁移,然后将其重新放入 INSTALLED_APPS
。
dependencies
和 run_before
可帮助您订购迁移。参见:https://docs.djangoproject.com/en/1.9/howto/writing-migrations/#controlling-the-order-of-migrations
在您的情况下,您需要在包含第 3 方应用程序迁移的迁移中提供 run_before
列表。这将使您的迁移 运行 在列表中指定的那些之前。