У меня есть данные -центрированное приложение с SQL Server. Среды, в которых они будут развернуты, не находятся под нашим контролем, и там нет администраторов баз данных (, все они малые предприятия ), поэтому нам нужно, чтобы процесс распространения каждого обновления приложения/базы данных был максимально автоматическим. насколько это возможно.
Помимо обычных изменений между версиями приложения (, иногда непредсказуемых ), мы уже знаем, что нам нужно распространять некоторые новые начальные данные с каждой версией. Иногда эти исходные данные будут связаны с другими данными в нашей системе. Например, :, возможно, нам потребуется вставить 2 новые строки некоторых основных данных в процессе обновления v2 -v3, а некоторые другие 5 строк — в процессе обновления v5 -v6.
Мы проверили Entity Framework Db Migrations (, доступные для существующих баз данных без кода -Впервые после выпуска 4.3.1 ),который представляет традиционные последовательные сценарии более автоматическим и контролируемым способом (, например Fluent Migrations ).
С другой стороны, придерживаясь другого подхода, мы проверили SSDT и его dacpacs, моментальные снимки и сценарии до -и после -развертывания.
Какая из этих технологий/философий больше подходит для описанного случая?
Любая другая технология/философия, которую можно было бы использовать?
Что еще посоветуете?
Заранее спасибо.