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