RelationalDatabase.ApplyMigrations
Adding an ApplyMigrations extension method to RelationalDatabase
Adding an interface that can be used to expose ContextConfiguration as an explicit implementation (useful for other components we want to hand extension methods off)
There is some level of testing as I swapped the MigrationsEndPointMiddleware over to use this API (and it has functional tests). Would be good to have at least one end-to-end test once we have migrations functional tests.
AddDbContext method for DI
Commands: Discover context types from migrations
Unladen swallow...

Add support for DefaultValue relational API

This one required a little more work than the others to allow a variety of different objects to be used. This is the last provider-specific relational API in the current batch so I can now work on removing the old code.
Added support for unique constraints.
GitHub Issue 839: Renamed UpdatedDatabase to ApplyMigrations and GenerateUpdateDatabaseSql to ScriptMigrations.
This addresses GitHub issue #824 and includes additional cleanup.
The base Migration class does not implement IMigrationMetadata anymore.
Added MigrationExtensions helper class to avoid casting everytime metadata information is needed from a migration.
Removed UpgradeOperations and DowngradeOperations properties from IMigrationMetadata.
Renamed MigrationMetadata to MigrationInfo and added constructor to create an instance from a Migration instance.
Updated MigrationAssembly to return Migration objects instead of IMigrationMetadata
Upated HistoryRepository to return HistoryRow objects instead of IMigrationMetadata.
Updated Migrator.GetDatabaseMigrations to return Migration objects.
Updated code and unit tests as necessary.