SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.05.2011 11:05:26

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Хранение данных базы MySQL в svn

При разработке удобно хранить код и шаблоны в базе, но одновременно удобно изпользовать svn. Как сделать, чтобы изменения данных в таблице отслеживались svn. Тема уже обсуждалась в нете, но простого решения предложено не было.

Приходит в голову такое решение:
SELECT ... INTO OUTFILE
svn up
svn ci
LOAD DATA INFILE

Такая схема будет работать при фиксированной структуре контроллируемых таблиц. Есть ли методы лучше?

Неактивен

 

#2 15.05.2011 12:41:28

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Хранение данных базы MySQL в svn

Для метаданных можно делать mysqldump -d и пытаться закоммитить.
Восстанавливать метаданные надо в отдельную базу и потом натравливать
какой-то сценарий сравнения (их есть несколько с названием mysqldiff,
каждый имеет свои плюсы и минусы). На этом этапе я бы всегда делал
manual intervention хотя бы в плане «хочу применить следующее (y/n)»

Сами же данные как правило версионировать не стоит (иначе это не дан-
ные, а метаданные). Если хочется иметь слепок на какой-то момент, можно
к каждой строке приделать еще номер версии и выбирать последние.

Неактивен

 

#3 15.05.2011 13:02:16

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3880

Re: Хранение данных базы MySQL в svn

Насчет данных не согласен. Пусть в базе хранятся шаблоны для сайта, над которыми работают несколько девелоперов. Девелопер исправил их у себя и хочет закоммитить. Если в самой таблице приписывать версию, то все только усложнится, но не даст возможности делать commit и update. Например, в vBulletin версионирование и апдейт шаблонов реализован в админском интерфейсе и это конечно лучше, чем все исправления всегда вносить вручную, но хочется общее готовое решение.

Неактивен

 

#4 19.05.2011 01:41:19

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Хранение данных базы MySQL в svn

Ultimate solution я тут не вижу. Нескольким разработчикам я бы дал
доступ к редактированию SVN напрямую, база в данном случае будет
вторичной, т.к. нам нужна полноценная функциональность системы
версионирования. Если же хватит простого последовательного интер-
фейса сохранения, то почему бы его и не сделать? Опционально —
делать diff своего файла и последнего сохраненного, если кто-то еще
редактировал. Но это уже будет написанием собственной VCS.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson