Ищем альтернативы проекту базы данных - PullRequest
4 голосов
/ 27 мая 2010

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

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

Это серьезно подрывает нашу работу, поэтому я ищу альтернативы. Может быть, что-то можно сделать с помощью Redgate SQL Compare? Я думаю, может быть, единственный недостаток в том, что он не проверяет синтаксис? Любые мысли / предложения будут наиболее цениться.

Ответы [ 2 ]

2 голосов
/ 28 мая 2010

Пожалуйста, попробуйте SQL Source Control, продукт, разработанный для работы вместе с SQL Compare, как часть жизненного цикла разработки баз данных. В данный момент он находится в бета-версии, но его функциональность завершена, и он очень близок к полной версии.

http://www.red -gate.com / продукция / SQL_Source_Control / index.htm

Нам было бы интересно узнать, как это работает с коммитом по сравнению со временем, которое требуется Visual Studio для создания вашего текущего проекта базы данных. Вам действительно нужно строить проект так часто в VS, что это проблема? Насколько велика ваша схема и какова средняя сборка?

0 голосов
/ 27 мая 2010

Синхронизация Dev / live db:

Вероятно, существует целый ряд способов сделать это, я уверен, что другие пользователи будут расширяться (включая программные решения).

В моем случае я использую двойной подход:

(a) запустить сценарии для получения различий между БД (хранимые процы, таблицы, поля и т. Д.)

(b) Вести строгий журнал изменений в БД (НЕ изменения данных)

В моем случае я со временем выстроил полуструктурированный журнал так:

Client_Details                  [Alter][Table][New Field]
{
    EnforcePasswordChange;
}

Users                       [Alter][Table][New Field]
{
    PasswordLastUpdated;
}

P_User_GetUserPasswordEnforcement           [New][Stored Procedure]
P_User_UpdateNewPassword                [New][Stored Procedure]
P_User_GetCurrentPassword               [New][Stored Procedure]
P_Doc_BulkDeArchive                     [New][Stored Procedure]

игнорировать табуляцию, уценка испортила.

Но вы получите общий смысл.

Я считаю, что в 99% случаев журнал - это все, что мне нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...