2013-02-14 4 views
1

Каков наилучший способ добавления управления изменениями базы данных в сценарий непрерывной интеграции? Я прочитал несколько вопросов и ответов, но они с 2009 года, и есть определенные методы и инструменты, которые были разработаны в то же время.Управление изменениями базы данных при непрерывной интеграции

Я использую TFS 2010, но это не главное. Меня интересует концепция управления изменениями базы данных наряду с непрерывной интеграцией. Есть идеи?

ответ

2

Я бы порекомендовал Red Gate суммируется с SQL Source и сравнение - это, безусловно, может пройти долгий путь к тому, полностью рабочий CI среды с интеграцией SQL

+0

Red Gate выглядит очень интересно, с недостатком коммерческого продукта. Я нашел и протестировал RoundhousE, кажется, покрывает все, что у меня есть. И это бесплатно :) Спасибо за ваши отзывы, очень ценится. – Dante

+0

Новый (бесплатный до пяти баз данных) Инструмент Redgate, который помогает с отслеживанием изменений в вашем конвейере, - это панель мониторинга DLM - https://www.red-gate.com/products/dlm/dlm-dashboard/ –

2

Мы успешно используется Liquibase для управления изменениями базы данных.

Используя best pratices, вы можете определить несколько изменений в базе данных и обновить все среды с помощью вашего CI-сервера (в нашем случае TeamCity).

+0

Я просмотрел ее и мне не понравилось, что вам нужно настроить свои скрипты через XML. Я посмотрел на RoundhousE, и я предпочитаю подход, который у них есть, вы в основном создаете SQL-скрипты, без XML с изменениями. Но спасибо за ваш ответ, всегда хорошо знать, что там. ура – Dante

1

Помимо инструментов Красных ворот вы также можете попробовать использовать ApexSQL Diff и ApexSQL Version, чтобы выполнить то же самое.

Вы не можете ошибиться ни с одним из этих инструментов, и если вы хотите третий вариант, вы можете проверить инструменты от Idera.

Обратите внимание, что все это коммерческие инструменты, хотя все они имеют пробную пробку на 14-30 дней.

0

Мы только что выпустили решение для управления базами данных (коммерческое решение), DBmaestro TeamWork, для SQL Server.

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

Он создает сценарий SQL для поощрения изменений с помощью базового осведомленного анализа, которые понимают характер изменения такие как: изменение должно игнорироваться, поскольку оно было создано из другой ветви или критического исправления или существует конфликт, и вы должны объединить код процедуры.

Отказ от ответственности - Я работаю в DBmaestro.

Сказав, что я призываю вас читать всеобъемлющий, объективный обзор по базе данных насильственного Management Solution ветерана экспертной базы данных Бен Тейлор, которую он отправил на LinkedIn https://www.linkedin.com/pulse/article/20140907002729-287832-solve-database-change-mangement-with-dbmaestro

0

У нас есть новое решение, которое принимает следующий подход:

  1. Разработчики сценариев индивидуальных изменений SQL и передают их в исходный код Управление.
  2. Наша программа (OneScript) извлекает файлы сценариев изменений от источника, фильтрует и сортирует их, и генерирует один файл сценария выпуска . (Работает лучше, чем кажется).
  3. Этот файл сценария освобождения затем применяется к базе данных , чтобы сделать выпуск.

Наша домашняя страница here объясняет этот процесс более подробно. Он также имеет ссылку на пример, который делает эти шаги автоматически из крюка Subversion (но это также может быть из TFS).Так вскоре после фиксации разработчик получает сообщение по электронной почте, если выпуск был успешным или имел ошибки. Код PowerScript включен.

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

Отказ от ответственности - работаю в компании, которая делает OneScript.

Смежные вопросы