Какая есть система управления версиями для MySQL?

Всем доброго времени суток.
Интересует ли какая-нибудь VCS для MySQL (наподобие mercurial).
Сейчас использую такой вариант с mercurial – во время commit’а делается бекап БД (с помощью pre-commit hook) и сохраняется в папку вместе проектом. Но этот вариант работает только наполовину. Когда приходят commit’ы от другого разработчика, merge стопорится на sql файле. Приходится сливать его вручную.
  • Вопрос задан
  • 2657 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
вам нужны миграции. Почти для всех платформ существуют инструменты для накатки/откатки миграций.
А держать полный дамп базы в vcs это плохая идея.
В случае же с миграциями, у вас есть различные ревизии структуры базы и данных в ней находящихся. Каждая миграция имеет возможность как накатить изменения, так и откатить их. Если были изменения в базе, разработчик пишет миграцию, комитит ее, при каждом пуле из репозитория можно по тем же хукам запускать миграции, и если у нас не самая последняя ревизия, накатываем новые. Если что-то пошло не так, можно откатиться.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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