Поддержание структуры базы данных в актуальном состоянии в проекте, где код находится на Subversion? - PullRequest
0 голосов
/ 03 апреля 2010

Я работаю с Subversion некоторое время, и это было невероятно для управления моими проектами, и даже для управления развертыванием на нескольких разных серверах, но есть только одна вещь, которая все еще раздражает меня. Всякий раз, когда я делаю какие-либо изменения в структуре базы данных, мне нужно обновлять каждый сервер вручную, я должен отслеживать любые сделанные мной изменения, и поскольку некоторые из моих серверов запускают ветви проекта (изменения, над которыми все еще ведутся работы были сделаны для разных целей), это немного неловко.

До сих пор я использовал файл «database.sql», который представляет собой дамп структуры базы данных для конкретной ревизии. Но это просто плохой способ справиться с этим.

И мне было интересно, как все остальные управляют своими базами данных MySQL, когда они работают над проектом и используют Subversion?

Ответы [ 2 ]

0 голосов
/ 14 апреля 2010

Liquibase может быть полезным для вас.

Я немного поигрался с этим, хотя и не настолько, чтобы использовать его в гневе. По сути, вы определяете базу данных и сценарии в их синтаксисе, а они генерируют сценарии обновления и «с нуля» для различных баз данных.

Требуется немного привыкнуть, но работает довольно хорошо.

0 голосов
/ 03 апреля 2010

В моей команде вот что мы сейчас делаем: у нас есть только одна ветвь: ствол, где каждый разработчик проверяет свои изменения.
Когда мы хотим выпустить новую версию нашего решения, мы создаем новую ветку из ствола. (немного стабилизировав).
Для каждого выпуска у нас также есть файл для переноса схемы наших баз данных с версии n-1 до версии n. У нас также есть скрипт для отката от n до n-1. Поэтому, когда мы запускаем новый выпуск, мы создаем новые файлы миграции и отката, которые помещаются в ствол.
Таким образом, мы можем перестроить базу данных, соответствующую любой версии нашего решения, начиная с любой «версии» данной схемы.
На самом деле, у нас также было много споров по этому вопросу, и это, наконец, то, что мы решили сделать. Но если у вас, ребята, есть идеи, которые помогут нам улучшить, сообщите нам:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...