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'),
Возможно, вам придется поискать в других миграциях другие вхождения этой строки и изменить их тоже.
После этого изменения миграция должна завершиться корректно.