Управление исходным кодом базы данных и сценарии изменения схемы - PullRequest
3 голосов
/ 14 июля 2010

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

Кто-нибудь, кто создавал / управлял этими процессами, перешел на решение Source Control для управления схемой базы данных? Если да, то как они нашли лучшее решение? Есть ли подводные камни, которых следует избегать?

Red Gate, похоже, является крупным игроком в мире MSSQL, и их управление исходным кодом в БД выглядит очень интересно: http://www.red -gate.com / продукция / solutions_for_sql / database_version_control.htm

Хотя это не похоже на то, что он заменяет (по умолчанию) процесс управления данными *, поэтому он заменяет только половину процесса управления изменениями из моего pov.

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

Мы работаем в среде .Net / MSSQL, но я уверен, что предпосылка одинакова для всех языков.

Ответы [ 4 ]

1 голос
/ 12 мая 2015

Я искал инструмент управления исходным кодом SQL Server - и наткнулся на множество премиум-версий, которые справляются со своей работой - используя SQL Server Management Studio в качестве плагина.

LiquiBase - бесплатная, ноу меня никогда не получалось, чтобы это работало для моих нужд.

Существует еще один бесплатный продукт, хотя он работает отдельно от SSMS и выводит объекты и данные в плоский файл.

Эти объекты могут затембыть закачанным в новый экземпляр SQL Server, который затем заново создаст объекты базы данных.

См. gitSQL

1 голос
/ 14 июля 2010

Я присматриваю за хранилищем данных, разработанным самим банком, в котором я работаю. Это требует постоянного обновления, и у нас работает команда из 2-4 разработчиков.

Нам повезло, потому что есть только один экземпляр нашего «продукта», поэтому нам не нужно обслуживать несколько экземпляров, которые могут быть в разных версиях.

Мы сохраняем файл сценария создания для каждого объекта (таблицы, представления, индекса, хранимой процедуры, триггера) в базе данных.

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

Каждый раз, когда мы делаем релиз, у нас есть скрипт, который запускает скрипты создания / миграции в соответствующем порядке.

К вашему сведению: Мы используем Visual SourceSafe (чёрт!) Для контроля исходного кода.

0 голосов
/ 14 июля 2010

Может быть, вы просите LiquiBase ?

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