Кто-нибудь знает о хорошем инструменте, который помогает поддерживать базу данных приложения?
Я работаю над приложением, которое использует базу данных (Microsoft Sql Server).
Когда для разработки требуется что-то изменить в базе данных (например, структура, миграция данных ...), мы создаем сценарий (сценарий Transact-SQL) и добавляем его в наш инструмент контроля версий (subversion - этот инструмент также содержит наш код). Каждый сценарий должен добавить строку в таблицу журнала, чтобы отслеживать все сценарии, которые были запущены в базе данных.
Чтобы создать базу данных для нашего приложения, необходимо запустить все сценарии, упорядоченные по дате их создания.
Я не очень доволен этой техникой, особенно потому, что она затрудняет миграцию приложений. Если мы хотим установить новую версию приложения где-нибудь, например, перейти с версии 1.3 на 2.1, мы должны получить все сценарии между этими двумя версиями. Затем запустите их и убедитесь, что все сделано в транзакции ...
Конечно, мы могли бы создать самодельные инструменты, чтобы помочь, но мне интересно, существуют ли уже какие-то инструменты для такой работы.