ddv88
@ddv88
Binance Futures

Doctrine Migrations ожидание импорта тестовой SQL?

Столкнулся с такой проблемой.

На ранере запускается чистый инстанс скелетона, в котором отсутствуют какие либо миграции.
Миграции запускаются в режиме --allow-no-migration.
Импорт БД происходит через compose.
Данные в БД заранее сгенерированы через faker, поэтом сам по себе дамп достаточно увесистый. Импорт происходит где то минуты 2-3.
В данный момент использую в цикле проверку на healthy контейнера, но понятное дело это не дает никакой гарантии того, что БД импортировалась.
Принудительно выставляю в переменную количество секунд ожидания для sleep перед попыткой запуска миграции.

Ошибка
Если БД не успевает импортироваться, в doctrine получаю эксепшн о невозможности создать запись в таблице migrations и соответственно CI отваливается.

Как грамотно обойти этот момент при условии импорта БД через compose, а не через doctrine?
Выполнять подключение к sql через консоль не особо хочется.
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
@zorn-v
Можно вместо проверки на healthy в дампе последней записью вставлять "запись-маячок" и проверять в цикле ее существование. Если под "консолью" вы имеете ввиду клиент mysql, то можно обойтись и без него. В проекте на symfony например `./bin/console doctrine:query:sql`
Ответ написан
Ваш ответ на вопрос

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

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