|
Как можно грамотно накатывать обновления на sql-базы?
|
|||
---|---|---|---|
#18+
Пусть новый релиз некоего абстрактного приложения, использующего sql-базу, имеет новую схему хранения данных. Как грамотно организовать процесс обновления production-баз? Вероятно вопрос также затрагивает и тему контроля версий. Буду признателен, если вы поделитесь своими "лучшими практиками". ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 21:12 |
|
Как можно грамотно накатывать обновления на sql-базы?
|
|||
---|---|---|---|
#18+
К своему решению мы пришли через много лет, через Metaworks, PowerDesigner, через текстовое сравнение скриптов баз и т.п. В итоге пришли к простому решению, состоящему из правил и простейшего инструмента. Главное правило простое: 1. никаких модификаций структур баз (в том числе основных девелоперских баз) какими-либо "умными" GUI-средствами. Все модификации ИСКЛЮЧИТЕЛЬНО только через SQL-скрипты 2. Все SQL-скрипты регистрируются и при необходимости документируются Для поддержания этого был сделан достаточно простой инструмен, который позволяет: а) вести SQL-скрипты модификации баз б) вести базы, отслеживать, какие скрипты к чему приложены в) Собственно выполнять эти скрипты. Правда, у нас методика выпуска типа "релиз каждый день". Ну почти :) Но и для более длительных и выраженных релизов такая схема может оказаться актуальной. А вообще, это скорее тема для форума "Управление процессом разработки ИС" Модератор: Тема перенесена из форума "Разработка информационных систем". ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 23:23 |
|
Как можно грамотно накатывать обновления на sql-базы?
|
|||
---|---|---|---|
#18+
Спасибо за перенос топика, здесь он действительно логичнее смотрится. Александр Гoлдун, Все модификации ИСКЛЮЧИТЕЛЬНО только через SQL-скрипты У Вас скрипты модифицируют только две смежные (следующие друг за другом) версии, или есть возможность перехода с любой минорной на любую мажорную? 2. Все SQL-скрипты регистрируются и при необходимости документируются Для поддержания этого был сделан достаточно простой инструмен, который позволяет: а) вести SQL-скрипты модификации баз б) вести базы, отслеживать, какие скрипты к чему приложены в) Собственно выполнять эти скрипты. Правда, у нас методика выпуска типа "релиз каждый день". Ну почти :) А в процессе обновления production-сервера, пользователям доступен readonly-доступ или система временно бездействует? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2010, 23:57 |
|
Как можно грамотно накатывать обновления на sql-базы?
|
|||
---|---|---|---|
#18+
2nd Александр Гoлдун, Все модификации ИСКЛЮЧИТЕЛЬНО только через SQL-скрипты У Вас скрипты модифицируют только две смежные (следующие друг за другом) версии, или есть возможность перехода с любой минорной на любую мажорную? У нас используется примерно такая же схема, но скрипты пишутся так, что бы "накатывать" на любую предыдущую версию, т.е. именно так как Вы и хотите. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2010, 09:02 |
|
Как можно грамотно накатывать обновления на sql-базы?
|
|||
---|---|---|---|
#18+
2ndУ Вас скрипты модифицируют только две смежные (следующие друг за другом) версии, или есть возможность перехода с любой минорной на любую мажорную?У нас только две смежные, но скрипты зранятся в сорс-контроле, и можно собрать с любой минорной на любую мажорную. 2ndА в процессе обновления production-сервера, пользователям доступен readonly-доступ или система временно бездействует?Либо вообще работает без перерывов или в редонли. Мне больше нравится первый вариант, но по идеологическим причинам руководство предпочитает переводить в ридонли ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2010, 16:23 |
|
Как можно грамотно накатывать обновления на sql-базы?
|
|||
---|---|---|---|
#18+
Поддерживаю. Базы обновлять SQL скриптами. Скрипты держать в контроле версий. Это все работает и проверено. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2010, 17:53 |
|
Как можно грамотно накатывать обновления на sql-базы?
|
|||
---|---|---|---|
#18+
Наверно не самое грамотное решение, но когда столкнулся с похожей проблемой - написал свое простое приложение по "накатыванию" скрипта на несколько баз. Суть: задаем список баз в файле, задаем скрипт в файле. Запускаем приложение: оно накатывает скрипт на базы из списка. Скачать Может кому будет полезно. Обратная связь принимается. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2014, 12:36 |
|
Как можно грамотно накатывать обновления на sql-базы?
|
|||
---|---|---|---|
#18+
Существует такой инструмент liquibase как раз предназначенный для управления миграциями. При этом если не пытаться городить диалекто-зависимый sql, то переход с одной СУБД на другую будет безболезненным. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2014, 20:38 |
|
|
start [/forum/topic.php?fid=37&gotonew=1&tid=1555370]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 265ms |
total: | 417ms |
0 / 0 |