/// <inheritdoc /> public virtual void MigrationMetadataChanged(IMigrationMetadata migrationMetadata, IExtendedMigrationProcessor extendedMigrationProcessor) { Processor = extendedMigrationProcessor; if (!Enabled) { return; } if (!Processor.SchemaExists(CommonSchemaName) || !Processor.SchemaExists(AuthCodeSchemaName)) { return; } var logonSql = MigrationConfig .PrepareSql(SqlResources.LogonScriptSql) .ReplaceIgnoreCase("{CommonSchemaName}", CommonSchemaName) .ReplaceIgnoreCase("{AuthCodeSchemaName}", AuthCodeSchemaName); Execute(logonSql); if (Processor.SchemaExists(MigrationConfig.Schema)) { ProcessAfter(new CreateSchemaWithPrefixExpression { SchemaName = MigrationConfig.Schema, SchemaPrefixId = MigrationConfig.GetSchemaPrefixId(), SchemaPrefixUniqueId = MigrationConfig.GetSchemaPrefixUniqueId() }); } }
/// <summary> /// Will be called just after the Schema is created<br/> /// Can be used to execute custom grants or other database operations. /// </summary> /// <param name="expression"></param> public virtual void ProcessAfter(ICreateSchemaWithPrefixExpression expression) { if (!Enabled) { return; } if (!Processor.SchemaExists(CommonSchemaName)) { return; } Logger.LogInformation($"ProcessAfter Schema:{expression.SchemaName} SchemaPrefix:{expression.SchemaPrefixId}"); var sqlAll = MigrationConfig .PrepareSql(SqlResources.SchemaPrefixSql) .ReplaceIgnoreCase("{CommonSchemaName}", CommonSchemaName) .ReplaceIgnoreCase("{AuthCodeSchemaName}", AuthCodeSchemaName); Execute(sqlAll); }