The IDatabaseMigrator needs to expose a way to allow configuration to take place. For example, changing the defualt schema, adjusting how versioning is handled etc.
It could be something that the interface itself doesn't expose, but the individual implementations do, via the constructor. For example, the SqliteMigrator could have an Action<SqliteMigrationConfiguration> callback. The callback will allow developers to opt-into using the built-in Sqlite schema version support, or having Lightmap track versioning itself with Lightmap tables created in the database.
The
IDatabaseMigratorneeds to expose a way to allow configuration to take place. For example, changing the defualt schema, adjusting how versioning is handled etc.It could be something that the interface itself doesn't expose, but the individual implementations do, via the constructor. For example, the
SqliteMigratorcould have anAction<SqliteMigrationConfiguration>callback. The callback will allow developers to opt-into using the built-in Sqlite schema version support, or having Lightmap track versioning itself with Lightmap tables created in the database.