Альтернативы Тарантино для непрерывной интеграции баз данных (CI)? - PullRequest
5 голосов
/ 20 марта 2011

В настоящее время мы используем VincentVega (теперь в Tarantino) для нашей CI базы данных.Мы используем CruiseControl.Net для нашего веб-приложения (C # с использованием TFS).

VincentVega работает относительно хорошо, поскольку он очень прост и обрабатывает два сценария создания и обновления (при сохранении существующих данных) одинаково хорошо,Я смотрю на обновление до Тарантино, но я хотел бы знать, может ли кто-нибудь предложить какие-то альтернативы, которые я должен изучить?Такие инструменты, как SQL Compare, которые «автоматически» генерируют дельта-сценарии, к сожалению, не обсуждаются, поскольку наша база данных сильно нормализована и содержит более 500 таблиц.

Спасибо

Эрик Тарасофф

Ответы [ 3 ]

5 голосов
/ 20 июля 2011

Есть еще один проект, который стоит посмотреть на Роба Рейнольдса; RoundHousE

http://code.google.com/p/roundhouse/

Вики находится на https://github.com/chucknorris/roundhouse/wiki

2 голосов
/ 06 июля 2016

Я думаю, что было бы интересно опубликовать другой ответ, поскольку у Redgate теперь есть новое предложение, ReadyRoll , которое удовлетворяет ваши ключевые проблемы.

  • «it [SQL Compare] просто неправильно собирает скрипт синхронизации»

Да, инструменты сравнения могут иногда ошибаться в сценарии. Часто это не значит, что скрипт не работает, но он не применяет изменения желаемым способом. Подход ReadyRoll «лучший из двух миров» использует SQL Compare для создания каждого сценария миграции, но, что особенно важно, он позволяет разработчику настраивать сценарий впоследствии.

  • «RoundHousE и подобные ему инструменты уже работают в модели, аналогичной той, что мы делаем сейчас»

Подход ReadyRoll, как и RoundHousE, основан на миграциях, управляя процессом обновления, выполняя серию последовательных скриптов. Этот инструмент был создан с учетом того, что многие команды разработчиков предпочитают работать таким образом.

  • «Одна из последних причин выбора RoundHousE: Chuck Norris»

Мне придется признать поражение в этом вопросе ...

2 голосов
/ 24 июля 2012

Существует похожий инструмент Пола Стовелла и его друзей по имени DbUp.

Одно заметное отличие между Tarantino и DbUp заключается в том, что хотя Tarantino обычно вызывается из сценария сборки (например, Nant или msbuild), в DbUp есть классы .NET, которые вы используете в своем приложении. Это потенциально позволяет лучше обрабатывать запасные варианты в случае, если скрипт не идет по плану.

http://code.google.com/p/dbup/

Вот оригинальное объявление DbUp из блога Пола Стовелла: http://www.paulstovell.com/dbup

...