БД?
1) Я тоже. По-моему, достаточно одного направления изменений - от любой версии к актуальной.
2) Подход основан на знании текущей схемы БД (создающий ее sql-скрипт хранится одним файлом в репозитории, при необходимости обновляется) и предполагает, что главное - уметь любую БД обновить/откатить именно до нее. Обновление/откат делаются через сравнение снимков схем БД-источника и целевой БД, затем - автогенерацию скрипта разницы между ними (ALTER, которые приведут целевую к состоянию источника), затем - применение этого скрипта к целевой БД. Например, RedGate SQL Compare, Visual Studio Database Project.
3) Чем FluentMigrator гибче чистого SQL?
У нас сейчас по одной БД на один стейтфул микросервис, довольно удобно. 2) Спасибо за ликбез! Звучит интересно, посмотрю подробнее технологии. 3) Можно накатывать миграции прямо из C# кода, храня миграции непосредственно в assembly. Типизированный синтаксис fluent API позволяет избежать опечаток в SQL запросах, например. Ну и да, с Linq2Db удобно.
Обсуждают сегодня