LINUX.ORG.RU

Как учитывать изменения в структуре БД в VCS?

 , ,


1

3

Подробнее о проблеме: вот я пишу какое-либо веб-приложение. У меня есть ряд текстовых файлов (.php, .js, - не важно) в каталоге, все изменения в котором отслеживаются каким-нибудь git'ом. НО процесс развития веб-приложения - это не только развитие кода, но и развитие БД.

Внимание вопрос, как отслеживать такие изменения в БД, через VCS, так, чтоб я мог откатить, клонировать и тому подобные пряники.

Предполагаемые решения: сразу спроектировать структуру БД так, чтоб потом не потребовалось учитывать это в системе контроля версий - К. О. мне уже это говорил, мне хочется большего.

Написать скрипт, который будет сохранять перед коммитом структуру БД в такой же текстовый файлик, с тем чтоб изменения в нем так же отслеживались VCS'ом. Так и планирую сделать, но сперва решил воззвать к коллективной мудрости, а ну как уже реализовано или есть более мудрое решение проблемы, о котором я не подумал.

★★★★★
Ответ на: комментарий от drBatty

Потому-как ты всё равно общаешься с СУБД с помощью DDL.

Вообще то я обращаюсь к СУБД с помощью клиента СУБД, с авторизацией, выбором баз и прочая прочая. А с помощью DDL я всего лишь выполняю команды СУБД.

Абстракция «скрипт» в данном случае не нужна.

Про скрипт писал ты. Вот и разберись почему то про что ты писал вдруг «не нужна». Люди же писали про «миграции».

Если фреймворк предоставляет механизм для миграции/деплоя/развертывания приложения - глупо им не пользоваться. Особенно когда приложение одно а СУБД много.

TEX ★★★
()
Ответ на: комментарий от drBatty

а как ещё получить _рабочую_ старую версию?

Ну и классику подзабыл да.

Админы делятся на два типа - те кто еще не делает бэкапы, и те кто уже делает бэкапы.

Нормальную _рабочую_ старую версии БД, обеспечивает в первую очередь бэкап и только бэкап.

TEX ★★★
()
Ответ на: комментарий от pihter

Структуру таблицы? ИМХО, этого достаточно... что я не учитываю?

например код может сам создавать Over9000 таблиц динамически. Или ещё чего-нить.

drBatty ★★
()
Ответ на: комментарий от TEX

Про скрипт писал ты. Вот и разберись почему то про что ты писал вдруг «не нужна».

твой код с методом up(), я и называю «скриптом».

Если фреймворк предоставляет

если представляет, то да.

drBatty ★★
()
Ответ на: комментарий от TEX

Нормальную _рабочую_ старую версии БД, обеспечивает в первую очередь бэкап и только бэкап.

не надо смешивать VCS и бекап. Это разные вещи и для разных целей. Файл бекапа в идеале _никогда_ не нужно читать. Только в случае аварии. А старая ревизия VCS — как раз наоборот, с ней можно и _нужно_ работать.

drBatty ★★
()
Ответ на: комментарий от drBatty

не надо смешивать VCS и бекап.

Не надо смешивать VCS, СУБД и _последню_ рабочую версию СУБД и всё будет хорошо.

Файл бекапа в идеале _никогда_ не нужно читать. Только в случае аварии.

Забавно заблуждение.

TEX ★★★
()
Ответ на: комментарий от drBatty

твой код с методом up()

Мой ? Ты ошибся адресом Как учитывать изменения в структуре БД в VCS? (комментарий)

, я и называю «скриптом».

С какой целью ? С целью выдумать за собеседника что то своё, обозвать как то по своему, что бы никто не догадался, а потом развенчать ?

Это не «скрипт» а миграция

если представляет, то да.

Миграция и упоминалась в контексте фреймворков.

TEX ★★★
()
Ответ на: комментарий от TEX

Не надо смешивать VCS, СУБД и _последню_ рабочую версию СУБД и всё будет хорошо.

а мне так удобнее. Твоя система миграций тоже была удобной когда-то, когда не было VCS, но вот зачем ты сейчас за неё хватаешься — неясно. Напоминает вопли VCS hunter'ов лет десять назад. Они тогда тоже кричали, что это «неынтерпрайзно» и «не нужно».

Файл бекапа в идеале _никогда_ не нужно читать. Только в случае аварии.

Забавно заблуждение.

опровергни.

drBatty ★★
()
Ответ на: комментарий от drBatty

а мне так удобнее.

Ты эталон ?

Твоя система миграций

Прими разупорин, она не моя. Как учитывать изменения в структуре БД в VCS? (комментарий)

опровергни.

Чего ради ? Ты мне денег заплатишь за обучение или как ?

TEX ★★★
()
Ответ на: комментарий от TEX

Ты эталон ?

нет. А где я тебя заставлял делать как я?

Чего ради ? Ты мне денег заплатишь за обучение или как ?

нет, не заплачу. Но перестану считать тебя балоболом.

drBatty ★★
()

я храню pure sql в dvcs, со штампами и можно какой-нибудь хелп файлик описать, какие изменения в каждой базе проводились, миграции которые тут предлагаются - еще больший геморой

umren ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.