Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как правильно переносить изменения из тестовой в боевую базу?  [new]
msleg
Member

Откуда: Москва
Сообщений: 563
Коллеги привет. Поделитесь вашей практикой. Как правильно организовать перенос изменений из тестовой бд в боевую. Ситуация следующая - есть 2 сервера. На одном находится боевая база, на втором такая же тестовая. Каждый день в боевую подгружаются данные. Как правильно переносить изменения из тестовой в боевую (изменения структуры) и как обновлять данными тестовую?
21 сен 17, 11:13    [20811403]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно переносить изменения из тестовой в боевую базу?  [new]
msLex
Member

Откуда:
Сообщений: 7730
msleg
Коллеги привет. Поделитесь вашей практикой. Как правильно организовать перенос изменений из тестовой бд в боевую. Ситуация следующая - есть 2 сервера. На одном находится боевая база, на втором такая же тестовая. Каждый день в боевую подгружаются данные. Как правильно переносить изменения из тестовой в боевую (изменения структуры) и как обновлять данными тестовую?


SSDT, TFS, отдельные ветки кода для тестовой и боевой, перенос уже протестированного функционала из одной ветки в другую merga-ми на уровне change set-ов.
21 сен 17, 11:56    [20811676]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно переносить изменения из тестовой в боевую базу?  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5112
- обновление боевой только скриптами миграции
(create\alter + сохранение данных во временных таблицах и переливка назад после обновления, если нужно)
скрипт получать из TFS или каждый разработчик пишет свой маленький скриптик под конкретную таску, перед релизом все эти скриптики собираются в один.

- обновление теста с прода через поднятие бэкапа прода (если фулл нет возможности, то дифф или лога)
далее накатываете скрипт миграции (заодно проверяя, что он вольётся без инцидентов)
21 сен 17, 12:39    [20811869]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно переносить изменения из тестовой в боевую базу?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4379
msleg,

Перенос скрипта в боевую базу это процесс, который никак не должен делаться автоматически.
1) Должен быть подготовлен скритп для развертывания. Все должно быть проверено и просмотрено глазами.
2) Желательно взять бекап боевой базы , развернуть его на тестовом сервере и накатить скрипт на него. Это даст некоторое представление о времени развертывания. Потому что изменение колонок в огромных таблицах могут занять долгое время или не закончиться вообще. Возможно надо будет создать вторую таблицу перенести туда данные, переименовать назад. Возможно будут другие проблемы, которых вы не увидите на тестовой БД.
3) На боевой БД необходимо объявить даунтайм, если надо. Остановить софт, который работает с БД, предупредить владельцев контактирующих с БД систем.
21 сен 17, 12:49    [20811920]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно переносить изменения из тестовой в боевую базу?  [new]
MSSQLAndDotNet
Member

Откуда:
Сообщений: 10398
вообще говоря visual studio умеет сравнивать проекты и базы и рендерить скрипт
но эт конечно не очень вариант ИМХО
хотя, почему бы нет
22 сен 17, 09:32    [20814507]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно переносить изменения из тестовой в боевую базу?  [new]
Nimua
Member

Откуда: Ростов-на-Дону
Сообщений: 342
Пользуемся RedGate SQL Compare, и также подготавливается скрипты миграции.
Все равно надо смотреть что он там негенерил, для больших таблиц обычно приходится писать руками, также если например у вас в разработческой базе есть индекс, который был и в боевой, и в него добавили новое поле, то сгенерируется дроп индекса и создание нового, что при нагруженной системе вызовет проблему.
23 сен 17, 14:39    [20817995]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить