Remove DbConfig and new constructors on DbContextBase and refactor Migrations to use explcit generation of IOqtaneDatabase instance
This commit is contained in:
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Master.01.00.00.00")]
|
||||
public class InitializeMaster : MultiDatabaseMigration
|
||||
{
|
||||
public InitializeMaster(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public InitializeMaster(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Tenant.01.00.00.00")]
|
||||
public class InitializeTenant : MultiDatabaseMigration
|
||||
{
|
||||
public InitializeTenant(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public InitializeTenant(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Master.01.00.01.00")]
|
||||
public class AddAdditionalIndexesInMaster : MultiDatabaseMigration
|
||||
{
|
||||
public AddAdditionalIndexesInMaster(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public AddAdditionalIndexesInMaster(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Tenant.01.00.01.00")]
|
||||
public class AddAdditionalIndexesInTenant : MultiDatabaseMigration
|
||||
{
|
||||
public AddAdditionalIndexesInTenant(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public AddAdditionalIndexesInTenant(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Tenant.01.00.01.01")]
|
||||
public class AddAdditionColumnToNotifications : MultiDatabaseMigration
|
||||
{
|
||||
public AddAdditionColumnToNotifications(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public AddAdditionColumnToNotifications(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Tenant.01.00.02.01")]
|
||||
public class DropColumnFromPage : MultiDatabaseMigration
|
||||
{
|
||||
public DropColumnFromPage(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public DropColumnFromPage(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Tenant.02.00.00.01")]
|
||||
public class AddColumnToProfileAndUpdatePage : MultiDatabaseMigration
|
||||
{
|
||||
public AddColumnToProfileAndUpdatePage(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public AddColumnToProfileAndUpdatePage(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Tenant.02.00.01.01")]
|
||||
public class UpdateIconColumnInPage : MultiDatabaseMigration
|
||||
{
|
||||
public UpdateIconColumnInPage(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public UpdateIconColumnInPage(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Tenant.02.00.01.02")]
|
||||
public class AddLanguageTable : MultiDatabaseMigration
|
||||
{
|
||||
public AddLanguageTable(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public AddLanguageTable(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Tenant.02.00.01.03")]
|
||||
public class UpdatePageAndAddColumnToSite : MultiDatabaseMigration
|
||||
{
|
||||
public UpdatePageAndAddColumnToSite(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public UpdatePageAndAddColumnToSite(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ namespace Oqtane.Migrations
|
||||
|
||||
public class AddSiteGuidToSite : MultiDatabaseMigration
|
||||
{
|
||||
public AddSiteGuidToSite(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public AddSiteGuidToSite(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Tenant.02.00.02.02")]
|
||||
public class UpdateDefaultContainerTypeInSitePage : MultiDatabaseMigration
|
||||
{
|
||||
public UpdateDefaultContainerTypeInSitePage(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public UpdateDefaultContainerTypeInSitePage(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Tenant.02.00.02.03")]
|
||||
public class DropDefaultLayoutInSite : MultiDatabaseMigration
|
||||
{
|
||||
public DropDefaultLayoutInSite(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public DropDefaultLayoutInSite(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Tenant.02.01.00.00")]
|
||||
public class AddAppVersionsTable : MultiDatabaseMigration
|
||||
{
|
||||
public AddAppVersionsTable(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public AddAppVersionsTable(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Master.02.01.00.00")]
|
||||
public class AddIndexesForForeignKeyInMaster : MultiDatabaseMigration
|
||||
{
|
||||
public AddIndexesForForeignKeyInMaster(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public AddIndexesForForeignKeyInMaster(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -11,7 +11,7 @@ namespace Oqtane.Migrations
|
||||
[Migration("Master.02.01.00.01")]
|
||||
public class AddDatabaseTypeColumnToTenant : MultiDatabaseMigration
|
||||
{
|
||||
public AddDatabaseTypeColumnToTenant(IEnumerable<IOqtaneDatabase> databases) : base(databases)
|
||||
public AddDatabaseTypeColumnToTenant(IOqtaneDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -7,14 +7,14 @@ namespace Oqtane.Migrations
|
||||
{
|
||||
public abstract class MultiDatabaseMigration : Migration
|
||||
{
|
||||
private readonly IEnumerable<IOqtaneDatabase> _databases;
|
||||
private readonly IOqtaneDatabase _databases;
|
||||
|
||||
protected MultiDatabaseMigration(IEnumerable<IOqtaneDatabase> databases)
|
||||
protected MultiDatabaseMigration(IOqtaneDatabase database)
|
||||
{
|
||||
_databases = databases;
|
||||
ActiveDatabase = database;
|
||||
}
|
||||
|
||||
protected IOqtaneDatabase ActiveDatabase => _databases.FirstOrDefault(d => d.Provider == ActiveProvider);
|
||||
protected IOqtaneDatabase ActiveDatabase { get; }
|
||||
|
||||
protected string RewriteName(string name)
|
||||
{
|
||||
|
@ -13,7 +13,7 @@ namespace Oqtane.Migrations.Framework
|
||||
{
|
||||
public class MultiDatabaseMigrationsAssembly: MigrationsAssembly
|
||||
{
|
||||
private readonly IEnumerable<IOqtaneDatabase> _databases;
|
||||
private readonly IOqtaneDatabase _database;
|
||||
|
||||
public MultiDatabaseMigrationsAssembly(
|
||||
ICurrentDbContext currentContext,
|
||||
@ -23,15 +23,15 @@ namespace Oqtane.Migrations.Framework
|
||||
: base(currentContext, options, idGenerator, logger)
|
||||
{
|
||||
var multiDatabaseContext = currentContext.Context as IMultiDatabase;
|
||||
if (multiDatabaseContext != null) _databases = multiDatabaseContext.Databases;
|
||||
if (multiDatabaseContext != null) _database = multiDatabaseContext.ActiveDatabase;
|
||||
}
|
||||
public override Migration CreateMigration(TypeInfo migrationClass, string activeProvider)
|
||||
{
|
||||
var hasCtorWithCacheOptions = migrationClass.GetConstructor(new[] { typeof(IEnumerable<IOqtaneDatabase>) }) != null;
|
||||
var hasCtorWithCacheOptions = migrationClass.GetConstructor(new[] { typeof(IOqtaneDatabase) }) != null;
|
||||
|
||||
if (hasCtorWithCacheOptions)
|
||||
{
|
||||
var migration = (Migration)Activator.CreateInstance(migrationClass.AsType(), _databases);
|
||||
var migration = (Migration)Activator.CreateInstance(migrationClass.AsType(), _database);
|
||||
if (migration != null)
|
||||
{
|
||||
migration.ActiveProvider = activeProvider;
|
||||
|
Reference in New Issue
Block a user