Честно говоря, я вообще сомневаюсь, для чего всё это в OpenCart. Вся эта история с Git, миграциями, CI/CD — это, конечно, круто, но OpenCart — это не тот движок, где такие сложности прям жизненно необходимы. Если вы на нём делаете простой интернет-магазин, то, по большому счёту, весь этот пафос с версиями и сложными воркфлоу может оказаться излишним.
Git, конечно, использовать нужно, но без фанатизма. Отслеживать изменения ядра и модификаторов? Ну, разве что для собственного спокойствия. Но по факту, если вы соблюдаете принципы модульности и не лезете в ядро, всё это легко можно держать под контролем вручную, без сложных схем. Те же миграции БД — это тоже избыточная вещь для большинства проектов на OpenCart. Тут чаще всего достаточно стандартных бэкапов.
Так что да, весь этот ваш "велосипед" смотрится излишним усложнением. В OpenCart гораздо важнее правильно организовать сам процесс разработки, а не навешивать кучу инструментов и методов, которые больше подходят для крупных корпоративных проектов. Это не значит, что все эти инструменты плохи, но, возможно, их применение в данном случае просто неоправданно.
Отдельно про миграции БД. Есть проверенные инструменты вроде Flyway или Liquibase, которые отлично справляются с задачей версионирования базы данных. Если вам нужно что-то более специализированное для MySQL/MariaDB, то посмотрите на DBmaestro. Эти инструменты не только позволяют отслеживать изменения схемы БД, но и упрощают перенос данных между разными средами.
Вот только прикол в том, что, оно вам, скорей всего, это все, не надо)
В общем:
Git, CI/CD, миграции — всё это классные штуки, но они должны решать конкретные задачи, а не просто быть частью проекта для галочки. OpenCart — это не та платформа, где вам нужно задействовать весь этот арсенал, если нет реальной необходимости.
Везде должна быть рациональность!