Я ищу лучший способ поставить базу данных 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 под контроль версий?