Контроль версий базы данных SQL Server

Я ищу надстройку/инструменты управления версиями базы данных SQL Server с открытым исходным кодом для связи с Git.

Я попробовал gitSQL и управление исходным кодом sql с красными воротами (не с открытым исходным кодом). С gitSQL я вижу проблему, заключающуюся в том, что когда я пытаюсь экспортировать объект, он также экспортирует зависимости.

Я хотел бы получить некоторые рекомендации для хороших инструментов для контроля версий SQL Server.

Я использую SQL Server Management Studio 2014.

Ответы (1)

введите описание изображения здесь

Обычные текстовые файлы в Git/Mercurial

Используйте свой контроль версий исходного кода, например Git , как вы упомянули, или Mercurial .

Отслеживайте создание, определение и развитие изменений в виде сценариев SQL. Это простые текстовые файлы, которые можно хранить вместе с проектом вашего приложения или в отдельном собственном проекте.

Поскольку это всего лишь текстовые файлы, вам не нужны никакие специальные надстройки или инструменты для связи с Git.

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

пролетный путь

Проект Flyway — это инструмент миграции базы данных. Каждый шаг, который вы предпринимаете в развитии структуры вашей базы данных, записывается в виде сценария SQL, которым управляет Flyway. Когда Flyway обнаруживает экземпляр вашей базы данных, который еще не обновлен, он запускает соответствующие сценарии SQL.

Вы можете сохранить эти SQL-скрипты вместе с исходным кодом, в том числе как часть вашей системы контроля версий. Или вы можете оставить эти сценарии внешними по отношению к вашему проекту, а затем указать Flyway на них во время выполнения.

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

Flyway построен на Java, но полезен и для разработчиков, не использующих Java, с утилитами-оболочками командной строки для вызова классов Java. Таким образом, вы можете запустить Flyway из консоли, сценария оболочки или со своего сервера сборки/интеграции.

Flyway — это бесплатный продукт с открытым исходным кодом, популярность которого быстро растет.

Поддерживает Microsoft SQL Server и пару десятков других, таких как Postgres, H2, DB2 и так далее.

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

Ликвибаза

Liquibase очень похожа на Flyway по своему назначению, но ваши миграции управляются сценариями XML, а не сценариями SQL.

Вы должны учитывать и сравнивать Liquibase при рассмотрении Flyway. Они оба являются сильными успешными инструментами.

Спасибо за ваш комментарий. Я ищу инструменты контроля версий, а не инструменты миграции. Flyway и Liquibase — это инструменты миграции. Не могли бы вы посоветовать какие-либо инструменты контроля версий с открытым исходным кодом для SQL-сервера?
@bhuvana Вы помещаете сценарии SQL, управляемые Flyway, в любую обычную систему контроля версий, такую ​​как Mercurial или Git. Теперь у вас есть полная история эволюции структуры вашей базы данных. Что еще вы могли бы подразумевать под «инструментом контроля версий для SQL Server»? Отредактируйте свой вопрос, чтобы точно объяснить, что вам нужно.