Symfony 4 doctrine, есть ли способ выполнить команду «doctrine: миграции: различия» без ошибки, если изменений не обнаружено?

#symfony #doctrine-orm #symfony4

#symfony #doctrine-orm #symfony4

Вопрос:

Для Symfony 4 в контексте CI мне нужно создать скрипт (bash) для обновления моего приложения.

В этом сценарии я использую команду ./bin/console doctrine:migrations:diff , но когда я не добавил / не изменил какой-либо объект, эта команда возвращает ошибку:

фрагмент ошибки

(возврат кода bash равен 1)

Я ищу правильный способ выполнить эту команду без ошибок, если в информации о сопоставлении не обнаружено никаких изменений. (нет исключения / код возвращает 0 ).

Причина в том, что я хочу остановить весь скрипт, если я получу где-нибудь код возврата 1

Как я могу это сделать?

Ответ №1:

Вы должны создать новую команду, которая вызывается внутри doctrine:migrations:diff и которая перехватывается DoctrineMigrationsGeneratorExceptionNoChangesDetected .

Здесь объясняется, как вы можете создать такую команду

https://symfony.com/doc/current/console/calling_commands.html