Note: This is module with migrations implementation, for actual migrations see it
The migrations are designed with MigrationsApplier as main entity. It performs all migrations in recursion-way (because personally I hate cycles and mutable state)
MigrationsStorage is a simple set-get table model for tracking schema version