Dokku Procfile «release: python manage.py migrate» приводит к ошибке NodeNotFoundError «Зависимости миграции XYZ ссылаются на несуществующий родительский узел».

При попытке развертывания в тестовой среде Dokku с базой данных Postgres возникает ошибка во время использования Procfile.

Профайл

release: python manage.py migrate

Я не могу воспроизвести это локально. Я также удалил db и все миграции, и все еще нет ошибки, миграции применяются без каких-либо ошибок.

Версия Wagtail: 6.2.2
Django версия: 5.1.2
psycopg версия: 3.2.3

Где-то в вашем проекте - вероятно, search/views.py - вы импортировали модели из wagtail.contrib.search_promotions.models, не добавив wagtail.contrib.search_promotions в INSTALLED_APPS. Это привело к тому, что Django решил, что эти модели являются частью основного приложения wagtail, и создал для них блуждающую миграцию в пакете Wagtail вашей локальной установки. Миграции в вашем приложении generic теперь имеют зависимость от этой блуждающей миграции, которая существует только в вашей локальной установке, что приводит к ошибке при их запуске в других местах.

Чтобы исправить это, сначала добавьте wagtail.contrib.search_promotions в INSTALLED_APPS вашего проекта. Затем отредактируйте файл generic/migrations/0001_initial.py и измените строку

("wagtailcore", "0092_query_searchpromotion_querydailyhits"),

до

('wagtailcore', '0091_remove_revision_submitted_for_moderation'),

Возможно, вам придется поискать в других миграциях другие вхождения этой строки и изменить их тоже.

После этого изменения миграция должна завершиться корректно.

Вернуться на верх