У вас уже есть свой ответ - напишите сценарии, которые изменяют структуру базы данных, создайте их версию в git и придумайте процесс их запуска.Тот, кто изменяет структуру, должен формализовать эти изменения в сценарии SQL.Обычно это просто создание таблицы или изменение таблицы DDL.Как и любой другой тип кода, эти изменения должны быть проверены.Тогда для любого из вас достаточно просто получить последний требуемый скрипт update.sql из git и запустить его через командную строку mysql или в инструменте.
Иногда просто изменить таблицу недостаточно - выТакже нужно делать запросы, которые конвертируют данные.Я также заблокирую соответствующие таблицы, чтобы при необходимости эти запросы можно было запускать в отношении производства.Просто назовите сценарии name.sql и установите соглашение о том, как вы будете их называть и где будете хранить их в своем дереве.Это может быть так же просто, как update_1.sql. Если вы уже работали с версиями DDL, вы можете поместить их в этот каталог.
Еще одна вещь ... большинство изменений таблицы alter не влияют на данные в базе данных.В редких случаях могут возникнуть проблемы, но вы всегда можете закодировать обходной путь в сценарии, например, используя временный столбец или таблицу, с некоторыми операторами SQL, которые перемещают данные назад и вперед во время перевода.
ТамЕсть инструменты, которые будут делать такие вещи для вас, но я не понимаю, зачем они вам нужны, когда вы контролируете структурные изменения.PHP ORM Doctrine2 обладает некоторыми из этих возможностей, и я видел другие продукты, которые предлагают такие же возможности ... сравнивая 2 дБ и определяя структурные изменения и DDL, необходимые для синхронизации структур.Это не поможет вам, когда вы оба будете пытаться работать независимо.
То, что я предложил, является простым и эффективным и использовалось во многих проектах, в которых я принимал участие.