Нужен запускатель скрипта управления версиями базы данных .NET
-
21-09-2019 - |
Вопрос
Я просматриваю базы данных управления версиями и наткнулся на обычные статьи о том, как это сделать (coding horror, ode to code и т.д.).Все это имеет для меня смысл, однако я пытаюсь найти программу запуска сценариев, которая будет запускать sql-скрипты для меня.Во всех этих статьях упоминается о том, что есть что-то для автоматического запуска, но ни в одной из них нет никаких рекомендаций.
Кто-нибудь знает о каких-либо утилитах для запуска этих скриптов?В идеале что-то, что работает следующим образом:
- Запускает все в транзакции, поэтому, если какое-либо отдельное обновление завершается неудачей, все это завершается неудачей
- У меня есть контроль над именем таблицы базы данных scheme version
- Возможность иметь серию скриптов, которые всегда запускаются при выполнении обновления
Может быть запущен как часть автоматизированной задачи
Редактировать
Открытый исходный код
Решение
Проверьте Развертывание SSW SQL - казалось бы, это делает практически все, о чем вы просите.Он отслеживает уже выполненные скрипты, он будет запускать целый пакет скриптов одновременно и на нескольких серверах (если требуется) и так далее.
Это довольно простой, но отличный инструмент - настоятельно рекомендуется!
Другие советы
Мы Используем DbUp ( ДбУп ) в качестве исполнителя скрипта в нашем веб-проекте.Это простые и приятные инструменты с открытым исходным кодом, которые помогут вам написать собственный скрипт runner в стиле консольных приложений.
DbUp - это библиотека .NET, которая помогает вам внедрять изменения в SQL Server базы данных.Он отслеживает, какие SQL-скрипты уже были запущены, и запускает сценарии изменений, необходимые для обновления вашей базы данных.
мы можем запускать скрипты из папки в файловой системе, или вы можете встроить их в свою сборку и запускать как встроенные скрипты.
вы можете найти более подробную информацию и примеры в их репозитории кода на github.