Фон
Я пришел из нескольких лет, работая в компании, где все объекты базы данных хранились в системе контроля версий, по одному файлу на объект. У нас был список всех объектов, которые поддерживались при добавлении новых элементов (чтобы позволить нам запускать сценарии в порядке и обрабатывать зависимости), и сценарий VB, который выполнялся для создания одного большого сценария для работы с базой данных.
Все таблицы были «созданы, если не существует», а все SP и т. Д. Были удалены и созданы заново.
До настоящего времени, и я сейчас работаю в месте, где база данных является главной, и нет контроля над исходным кодом для объектов БД, но мы используем инструменты redgate для обновления нашей производственной базы данных (сравнение SQL), что очень удобно, и требует мало работы.
Вопрос
Как вы обрабатываете ваши объекты БД? Мне нравится держать их под контролем исходного кода (и, поскольку мы используем GIT, я хотел бы иметь возможность обрабатывать конфликты слияния в сценариях, а не в БД), но я буду вынужден пройти мимо простота использования SQL сравнения для обновления базы данных.
Я не хочу, чтобы мы обновляли скрипты в GIT, а затем использовали сравнение SQL для обновления производственной базы данных из нашей базы данных DEV, так как я бы предпочел «одну версию правды», но я не Я действительно хочу переписать специальную часть программного обеспечения для объединения всего множества сценариев.
Я думаю, что издание базы данных visual studio может сделать что-то похожее на это, но я не уверен, будет ли у нас на это бюджет.
Я уверен, что это было задано до смерти, но я не могу найти ничего, что, кажется, вполне имеет ответ, который я ищу.
Похоже на это, но не совсем так:
Каковы лучшие практики для сценариев базы данных под управлением кода
Начал щедрость, так как я заинтересован в агитации за еще несколько мнений - ответы здесь здравые, но я чувствую, что действительно должен быть более легкий путь.
Спасибо за все замечательные ответы - у всех есть свои достоинства, так что я собираюсь получить самый высокий голос, но приветствую за все комментарии.