Я вызываю миграцию Cake PHP (v3.8.8) из инструмента развертывания (https://deployer.org/). Средство развертывания просто вызывает команду оболочки
миграции bin / cake миграция
для запуска миграции.
Если одна из миграций выдает ошибку , процесс миграции корректно отменен. Но команда Cake PHP migrate не возвращает ненулевой код завершения в этой ситуации. Таким образом, вызывающий процесс не информируется об ошибке.
В моем случае это приводит к развертыванию новой версии программного обеспечения, которая использует старую версию схемы базы данных.
Я полагаю, Cake Команда PHP migrate должна возвращать код завершения, возвращенный миграцией Phinx, которая вызывается изнутри. Если я использую команду переноса Phinx напрямую для переноса схемы базы данных с использованием тех же самых сценариев переноса, то при возникновении ошибки команда Phinx возвращает код выхода 1.
Желательно ли поведение Cake PHP?