Я ищу надстройку/инструменты управления версиями базы данных SQL Server с открытым исходным кодом для связи с Git.
Я попробовал gitSQL и управление исходным кодом sql с красными воротами (не с открытым исходным кодом). С gitSQL я вижу проблему, заключающуюся в том, что когда я пытаюсь экспортировать объект, он также экспортирует зависимости.
Я хотел бы получить некоторые рекомендации для хороших инструментов для контроля версий SQL Server.
Я использую SQL Server Management Studio 2014.
Используйте свой контроль версий исходного кода, например 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. Они оба являются сильными успешными инструментами.
отсутствует точка с запятой
Базиль Бурк