Задать вопрос

Инкрементальные обновления схемы MySQL?

Здравствуй, %username%! В моей работе часто встречается ситуация, когда необходимо обновить схему базы данных MySQL, используемой при работе того или иного сайта, а затем сделать аналогичные изменения на одном или нескольких серверах. Естественно требуется также сохранять состояния схемы после каждого инкрементального обновления. Для некоторых таблиц, хранящих статические данные требуется также синхронизировать данные целой таблицы. Текущее решение:

1) Хранить схему в файле формата MySQL Workbench (*.mwb)

2) После каждого изменения создавать новый коммит в системе контроля версий (Subversion)

3) Использовать встроенные средства MySQL Workbench для синхронизации изменений (Synchronize Database). Аналогично можно использовать другое ПО, наподобие SQLYog, которое позволяет синхронизировать не только схему, но и данные.

Этот способ не очень удобен, поскольку требуется производить синхронизацию вручную и отдельно для каждой таблицы, выбирая ее в диалоге. Вопрос: какие еще способы выполнения инкрементальных обновлений схемы базы данных ты можешь предложить? Обычная репликация не подходит, поскольку соединение с серверами непостоянно и общение с ними может происходить по SSH. Требуется именно технология обновления по требованию, возможно также использующая бинарные логи или дампы.
  • Вопрос задан
  • 3780 просмотров
Подписаться 8 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
dbmaster
@dbmaster
Волшебного способа для синхронизации схем пока нет. Посмотрите liquibase.org/
Ответ написан
Комментировать
Возможно, вы найдете что-то полезное в этих статьях:
habrahabr.ru/blogs/php/90052/
habrahabr.ru/blogs/net/129242/
habrahabr.ru/blogs/sql/121265/
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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