Управление версиями базы данных MySQL: имеет ли смысл выражать базу данных как иерархию файлов / папок? - PullRequest
3 голосов
/ 10 сентября 2011

Я ищу лучший способ поставить базу данных MySQL под контроль версий.В настоящее время я помещаю сырые дампы под контроль версий.Это плохо, потому что я в конечном итоге разыграл один огромный файл, и трудно сразу узнать, какие таблицы были изменены (например, к какой таблице принадлежит эта измененная строка? Сколько таблиц было изменено в этом коммите?).Слияние также чувствует себя немного более рискованным при работе с одним большим файлом (опять та же проблема: «к какой таблице принадлежит эта измененная строка»?)

После прочтения о решенияхЧто касается stackoverflow, я думаю, что Liquibase кажется хорошим инструментом для управления версиями базы данных.Тем не менее, я изучаю еще один кажущийся более простой метод:

Мне кажется, что базы данных MySQL на самом деле очень хорошо отображаются на древовидную структуру данных (я ошибаюсь?).Следовательно, можно просто вывести базу данных MySQL в файловую систему, то есть структуру файла / папки, например:

Tables (dir)
    Table1 (dir)
        data.xml (file denoting Table1's data)
    Table2 (dir)
        data.xml (file denoting Table1's data)

и т. Д.

В качестве альтернативы, мы можем представить базу данныхв файловой системе, например, так:

Tables (dir)
    Table1 (dir)
        Column1.xml (Column1 data from Table1)
        Column2.xml (Column2 data from Table1)

и т. д.

Эти файлы / папки могут быть затем переведены под контроль версий и очень легко отслеживаются для истории изменений.

Я знаю, что существует много дискуссий по поводу управления версиями базы данных, и у меня сложилось впечатление, что поиск в Google таков, что это сложная тема.Итак, для меня, чтобы думать, что решение является настолько простым, что-то должно быть неправильно!

Будет ли это работать?Каковы недостатки этого подхода к переводу базы данных MySQL под контроль версий?

1 Ответ

0 голосов
/ 10 сентября 2011

mysqldump уже может выводить данные в виде XML. Однако обратите внимание, что из-за большой избыточности в метаданных XML не очень эффективный способ хранения необработанных данных. Лучше просто простые дампы SQL или файлы CSV.

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