Утилита для работы с исходниками БД

Много говорится о бестпрактис хранения исходников БД в СКВ, причем каждый объект — это отдельный файл и т.д.

Так же есть множество модных (и не очень) деплойеров и changhe manager'ов, которые позволяют управлять изменениями кода БД, собирать дифф-скрипты, накатывать на базы и контроллировать все это дело (Liquibase, dbdeploy, etc).

А есть какая-либо тулза, которая помогала бы непосредственно управлять самим исходным кодом, например:
— Могла набросать каркас из папок и файлов для хранения исходных кодов объектов;
— собрать из этих исходников итоговый скрипт, который можно юзать в какой-нибудь CI. Причем сборка с различными параметрами, например частичная (отдельной таблицы или нескольких таблиц), без ФК, ПК, индексов и т.д. Сборка с тестовыми данными, сборка с боевыми данными и многое другое…
— контроллировать актуальность хранимых объектов, т.е. следить за тем, что если был удален пользователь из репозитория, то и все его объекты так же должны пропасть из текущей версии. Если грохнули таблицу, то также удалились ее индексы (которые так же хранятся в отдельных файлах и имеют свою историю изменения);
— была интегрирована в какой-нибудь сборщик (Ant, Maven)

?
  • Вопрос задан
  • 3247 просмотров
Пригласить эксперта
Ответы на вопрос 2
foxmuldercp
@foxmuldercp
Системный администратор, программист, фотограф
Простите, а что значат «исходники БД»?
под исходниками БД обычно понимается исходный код сервера БД — Mysql,Postgres к примеру.
А «структура» самой БД — это банальная пачка бинарных файлов с файлом базы, логами, индексами и прочим стаффом.
Ну и структура БД — это, собственно человекочитаемый список таблиц в БД, структура самих таблиц и права доступа.
Или может я чего не понимаю
Ответ написан
Если система поддерживает механизм миграций — то его вам должно хватить за глаза.
Если с этим проблемы (в том числе и оффлайн решения не использовать), то можно создать папку sql, в которую отдельно положить структуру и фикстуры (данные). Ну и, соответственно, эту папку в СКВ.
Но предпочтительнее все же разобраться в первом варианте — миграции более правильный инструмент, ИМХО.
Ответ написан
Ваш ответ на вопрос

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

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