BXVoral
@BXVoral
Веб-разработка

Doctrine: очень долго выполняются команды проверки схемы и создания миграции. Как узнать проблему?

При выполнении команд
bin/console d:m:diff
bin/console d:chema:validate

Выполнение происходит очень долго (минут 15). При этом в базе 12 таблиц. В основном 3-4 колонки, максимум 8. Ключи только первичные. Тот же самый проект на ноутбуке (ОС аналогичная) - все быстро выполняется. Изначально все было быстро, потом в какой то момент времени, что то стало не так. При чем пробовал "откатить" те изменения, что были связаны с доктриной в предполагаемый период - не помогает.

При выполнении самого приложения тормозов при работе с БД нет, другие проекты с другими БД на этом же компе не тормозят. Так же из PhpStorm работаю с этой БД без проблем.

В логах MySQL ни чего нет.

При выполнении bin/console d:chema:validate
Часть Mapping - проходит быстро
Висит на Database

Пробовал сделать через d:database:drop d:database:create d:m:diff d:m:m
Удаление/создание мгновенно, diff 15 минут, migrate 12 сек

MySQL MariaDB 10.3.34
PHP8.1
Symfony 6
Doctrine 2.13.1
  • Вопрос задан
  • 182 просмотра
Решения вопроса 1
BXVoral
@BXVoral Автор вопроса
Веб-разработка
В общем дело не в Symfony и не в Doctrine. Доктрина для создания миграции и проверке схемы определяет реальную схему в БД. При этом, в числе прочего, обращается к таблице information_schema.referential_constraints . И именно этот запрос тормозит.

Для примера
select CONSTRAINT_SCHEMA from information_schema.referential_constraints limit 1;

выполняется 6 с половиной минут

В общем создал вопрос с соответствующим заголовком и тегами
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы