public static bool Migrate(ILogger logger, DBTypeEnum dbType, string connectionString, bool create) { if (DefaultConnectionString == null) { DefaultConnectionString = connectionString; } IdentityDbContextBase dbContext = null; try { switch (dbType) { case DBTypeEnum.Oracle: dbContext = new IdentityDbContextBaseMigrOracle(); break; case DBTypeEnum.PostgreSQL: dbContext = new IdentityDbContextBaseMigrPostgreSQL(); break; case DBTypeEnum.SQLServer: dbContext = new IdentityDbContextBaseMigrSQLServer(); break; } Migrate(logger, dbContext, create); } finally { dbContext?.Dispose(); } return(false); }
private static bool Migrate(ILogger logger, IdentityDbContextBase dbContext, bool create) { if (create || dbContext.Database.CanConnect()) { var migr = dbContext.Database.GetPendingMigrations(); if (migr.Any()) { foreach (var item in migr) { logger.LogInformation("RGF Identity Migrate: {0}", item); } dbContext.Database.Migrate(); } return(true); } return(false); }