Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Технология контроля версий в СУБД
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Помогите пожалуйста разобраться, как стоит организовать контроль версий СУБД. Мое предположение такое (очень кажется, что где-то я ошибаюсь и можно схему упростить): 1. В текущей базе ввел таблицу с 2 параметрами: версия базы (1.0.2) и версия скриптов (1.0.2) 2. В базе создал процедуру dbo.Deploy (которая впоследствии будет накатывать на базу данные справочников) 3. Сделал бэкап пустой базы (без пользовательских данных, но со всеми необходимыми справочниками и с версиями). Этот бэкап будет у нас отправной точкой для развертки нового продакшна. 4. Поставил SQL Source Control от Red Gate, пока триалка. 5. Поместил схему своей базы в SVN (Link DataBase to source Control) Подготовка закончилась, теперь собственно сами операции по обновлению БД Каждый из разработчиков создает у себя на локале базу, восстанавливает ее из бэкапа, делает upgrade из SQl Source Controla и запускает процедуру Deploy. Делает какие-то свои изменения, если изменения затрагивают не только схему, но и справочные данные, то разработчик добавляет в dbo.Deploy скрипт, назовем его (1.0.2 -> 1.0.3), который делается только на версии скриптов 1.0.2 и по завершению обновляет версию до 1.0.3. И перед самым коммитом, также в dbo.Deploy меняет версию базы (обязательно, даже если не добавлял скрипт). В итоге каждая база у нас будет версионирована, и уменьшается количетсво миграционных sql (теперь при изменении схемы Sql Source Control будет это делать за нас). Но как минусы получаем 2 лишних действия, которые разработчик должен не забывать делать: 1. Изменять версию базы перед коммитом и не забывать запускать процедуру Deploy при развертке новой версии БД. Подскажите как эту схему можно сделать попроще, может кто-то на практике применял более надежную схему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2011, 16:46 |
|
||
|
|

start [/forum/search_topic.php?author=%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B5%D0%B9+%D0%9A%D1%83%D0%B7%D0%BD%D0%B5%D1%86%D0%BE%D0%B2&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
get settings: |
7ms |
get forum list: |
20ms |
get settings: |
7ms |
get forum list: |
13ms |
get settings: |
6ms |
get forum list: |
11ms |
get settings: |
7ms |
get forum list: |
13ms |
get settings: |
6ms |
get forum list: |
17ms |
get settings: |
7ms |
get forum list: |
10ms |
get settings: |
5ms |
get forum list: |
9ms |
get settings: |
4ms |
get forum list: |
9ms |
get settings: |
5ms |
get forum list: |
10ms |
get settings: |
4ms |
get forum list: |
13ms |
get settings: |
7ms |
get forum list: |
12ms |
get settings: |
10ms |
get forum list: |
9ms |
get settings: |
7ms |
get forum list: |
9ms |
get settings: |
8ms |
get forum list: |
11ms |
get settings: |
6ms |
get forum list: |
11ms |
get settings: |
10ms |
get forum list: |
12ms |
get settings: |
5ms |
get forum list: |
11ms |
get settings: |
8ms |
get forum list: |
13ms |
get settings: |
8ms |
get forum list: |
15ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
6ms |
get first new msg: |
3ms |
get forum data: |
1ms |
get page messages: |
16ms |
get tp. blocked users: |
1ms |
| others: | 22888ms |
| total: | 23344ms |

| 0 / 0 |
