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

Откуда:
Сообщений: 1195
Glory,

В связке Visual Studio + SSDT + система управления проектом + система контроля версий разработка баз данных ничем не отличается от разработки обычного приложения.
И как это тысячи разработчиков во всём мире разбираются, какой кусок кода включать в итоговый Build, а какой не включать?
22 янв 16, 15:39    [18716671]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server: тестовая и боевая базы. Как правильно проводить синхронизацию при разработке?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Jovanny
И как это тысячи разработчиков во всём мире разбираются, какой кусок кода включать в итоговый Build, а какой не включать?

Это их проблема, если им больше нечем заняться, как искать уже составленный ими скрипт в другом скрипте, составленным неизвестно кем
И вы успешно перевернули вопрос
С разбора вашего общего скрипта разницы двух схем на составление билда из отдельных скриптов, предоставленных разработчиками

Сообщение было отредактировано: 22 янв 16, 15:44
22 янв 16, 15:42    [18716696]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server: тестовая и боевая базы. Как правильно проводить синхронизацию при разработке?  [new]
хе-хе )
Guest
Gena928
начальство требует чтобы все изменения были задокументированы и сохранены в GIT. Т.е. чтобы было видно кто что заказывал и что для этого сделали.

VS DataBase Project под git и все. teamcyty + dacpac для автодеплоя
можно red gate купить, там и данные по контроль поставить можно выборочно
22 янв 16, 15:43    [18716697]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server: тестовая и боевая базы. Как правильно проводить синхронизацию при разработке?  [new]
Cane Cat Fisher
Member

Откуда:
Сообщений: 1809
Gena928
У меня будет 8 баз. Четыре тестовых и четыре боевых. Есть ли какой-нибудь механизм логирования изменений и переноса изменений из тестовой базы в боевую?


Не 8, а 12. На каждую боевую Production-базу (я верно понимаю, что это разные проекты?) нужно одну тестовую Test, и одну девелоперскую Dev.

0. Приступая к заданию, разработчик получает свежую Dev-базу копией Prod (*).
1. Разработчик берет Management Studio, и мышей творит что-то в своей Dev базе, раз уж непременно хочет мышей.
2. Когда удовлетворится, запускает compare Dev Prod, и получает скрипты содеяного мышей. Скрипты через git отдает тестировщику.
3. Тестировщик получает свежую Test-базу копией Prod, и накатывает на свою Test-базу скрипты, и тестирует. Если ok - goto п.4, если лажа - возврат goto 1.
4. Тестировщик через git отдает скрипты внедренцам, и они накатывают их на Prod-базу. Коммит в git помечается как релизный.

(*) "Получает базу копией" сказано условно для обозначения идентичности структур, на самом деле может быть организовано иначе.

Как-то так.
22 янв 16, 16:19    [18716950]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server: тестовая и боевая базы. Как правильно проводить синхронизацию при разработке?  [new]
Gena928
Member

Откуда: Москва
Сообщений: 1139
Cane Cat Fisher,

у нас так и работает, но на ERP системе.
Тут базы для отчетности. Учитывая что я сам буду разработчиком в внедренцем, то хватит и 8.
22 янв 16, 16:34    [18717052]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server: тестовая и боевая базы. Как правильно проводить синхронизацию при разработке?  [new]
Adx
Guest
Gena928
Glory,

начальство требует чтобы все изменения были задокументированы и сохранены в GIT. Т.е. чтобы было видно кто что заказывал и что для этого сделали.


Не понятно, какие у Вас могут быть проблемы. Git умеет сравнивать файлы. Мало того, в коммит попадают только измененные файлы. Вам даже делать ничего не нужно. Можете написать комментарий к коммиту: "Это я тут наковырял чего-то после пива". Файлы объектов выгружаются из студии штатными методами.
Что до управления проектами, это правильный подход, но требует определенной культуры разработки. Непосредственно с задачей синхронизации и логирования изменений не связан, дает много других преимуществ, помимо этих задач. "Недостатки" тоже понятны - быстро ковырнуть не получается.
22 янв 16, 16:43    [18717109]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server: тестовая и боевая базы. Как правильно проводить синхронизацию при разработке?  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 590
Как вариант, можно посмотреть в сторону SVN + Liquibase + Jenkins. Типа халява. Да, придётся со скриптами поработать. Но это нормально. Со временем начинаешь DDL делать быстрее, чем мышкой клацать по гуям. И контроля при работе со скриптами больше за своими же действиями.
22 янв 16, 17:34    [18717467]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server: тестовая и боевая базы. Как правильно проводить синхронизацию при разработке?  [new]
Adx
Guest
Очень лысый
Как вариант, можно посмотреть в сторону SVN + Liquibase + Jenkins. Типа халява.


С каких пор это халява? Liquibase базовый примитивен до невозможности, работать с ним нельзя.
22 янв 16, 18:54    [18717837]     Ответить | Цитировать Сообщить модератору
 Re: SQL Server: тестовая и боевая базы. Как правильно проводить синхронизацию при разработке?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31485
Gena928
по SQL серверу я единственный разработчик.
Так в чём тогда вопрос?
Вам не нужно никаких деплоев, синхронизаций и прочего.
Вы мышкой программируете на тесте, время от времени делаете скрипт разницы и кладёте его в базу сорс-контрола, в тот же момент, и теми же средствами, когда синхронизируете тест с продакшеном.
Gena928
чтобы было видно кто что заказывал и что для этого сделали.
А вот это таким способом не получится, тут только скриптами, о чём вам и писали.

Вы всё таки требования опишите, что вы хотите получить.

Вот начальство, судя по всему, понимает, что оно хочет и зачем это надо, а вы что хотите? Вам что, собственно, нужно, понять, как лучше получить профит для бизнеса, или как отвязаться от назойливых боссов? Со вторым вам тут не помогут, поскольку мы не знаем ваших боссов. Так что сами формируйте требования к процессу.
22 янв 16, 21:24    [18718417]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Microsoft SQL Server Ответить