Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2014, 07:22   #1
yaapelsinko
Пользователь
 
Регистрация: 15.01.2012
Сообщений: 67
По умолчанию "Контроль версий" в структуре БД

Как решается проблема версий, когда при командной работе вносятся изменения в структуру базы данных?

Особенно интересует, есть ли какая-то чисто микрософтовская тулза, интегрированная в ихние продукты.

Например, кодю на С#, командная работа над кодом через TFS, использую Entity Framework для доступа к SQL Server - ну, всё чисто от МС.

И вот вношу я изменения в код, делаю коммит. Вносит другой человек изменения в код, делает коммит. Если конфликт в изменениях, то там сразу всё удобно можно разрешить, всё достаточно ясно.

Но изменения в структуре самой БД в этой системе никак не учитываются, всё нужно или делать вручную сразу (и тогда БД может не работать для тех, кто всё ещё работает со старой версией кода), либо делать какие-то запросы-патчи, и потом вручную всё это сводить.

Чем же контролировать версии БД?
yaapelsinko вне форума Ответить с цитированием
Старый 04.06.2014, 09:37   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Так надо оставлять совместимость.
Иначе не выпускать релиз пока другие не перестроятся.
Как правило проконтролировать версию БД можно только имея в БД таблицу, где будет указываться версия, дата установки и авторство. СУБД собственно говоря далеко не все имеют подобный механизм контроля, поэтому его придется выдумывать.
Вот ИМХО самое простое и эффективное это отдельная таблица версий.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.06.2014, 03:57   #3
yaapelsinko
Пользователь
 
Регистрация: 15.01.2012
Сообщений: 67
По умолчанию

Я кажется нашёл нужное решение.
Сама Visual Studio даёт все нужные возможности, плюс там SQL Server Data Tools какие-то помогайки добавляет.

Как я понимаю, для решения обозначенной проблемы нужно создавать проект бд в визуал студио, и все изменения вносить через этот проект. Соответственно, данный проект будет находиться в репозитории и как и все остальные файлы, подвергаться контролю изменений.

Ну а дальше, как обычно, все синхрятся с репозиторием, вносят свои изменения и коммитят.

Кому интересно - на заметку.

http://www.techrepublic.com/blog/dat...ase-with-ssdt/

Последний раз редактировалось Stilet; 07.06.2014 в 09:46.
yaapelsinko вне форума Ответить с цитированием
Старый 17.06.2014, 02:40   #4
maLoy*508
Форумчанин
 
Аватар для maLoy*508
 
Регистрация: 28.03.2008
Сообщений: 672
По умолчанию

Как вариант вести разработку базы данных через скрипты... все изменения накатывать скриптами, а скрипты коммитить в репозитарий... в итоге можем получить базу на любую дату коммита...
maLoy*508 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Постоянно слетает галочка "автоматически" в "Параметры Excel", "Формулы", "Вычисления в книге" Alexsandrr Microsoft Office Excel 4 19.10.2013 14:22
Запись "0" в поле int в Структуре (Си) Kruudash Помощь студентам 1 24.05.2013 00:24
Программа "Контроль запуска сторонних приложений локально" ImmortalAlexSan Фриланс 4 05.06.2012 10:35
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04