コード例 #1
0
        /// <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()
                });
            }
        }
コード例 #2
0
 public ExtendedOracleManagedProcessor(
     OracleManagedDbFactory factory,
     OracleGenerator generator,
     ILogger <ExtendedOracleManagedProcessor> logger,
     IOptionsSnapshot <ProcessorOptions> options,
     IConnectionStringAccessor connectionStringAccessor,
     IExtendedMigrationProcessor <ExtendedOracleProcessorBase> extendedMigrationProcessor
     )
     : base(factory, generator, logger, options, connectionStringAccessor)
 {
     ExtendedMigrationProcessor = extendedMigrationProcessor;
 }
コード例 #3
0
 public ExtendedOracleManagedProcessor(
     OracleManagedDbFactory factory,
     OracleGenerator generator,
     ILogger <ExtendedOracleManagedProcessor> logger,
     IOptionsSnapshot <ProcessorOptions> options,
     IConnectionStringAccessor connectionStringAccessor,
     IExtendedMigrationProcessor <ExtendedOracleProcessorBase> extendedMigrationProcessor,
     ICustomMigrationProcessor <OracleProcessor> customMigrationProcessor = null,
     IVersionTableMetaData versionTableMetaData = null
     )
     : base(factory, generator, logger, options, connectionStringAccessor)
 {
     ExtendedMigrationProcessor = extendedMigrationProcessor;
     VersionTableMetaData       = versionTableMetaData;
     Initialize(customMigrationProcessor);
 }
コード例 #4
0
 public static void ExecuteCodeBlockUntilNoExeception(this IExtendedMigrationProcessor _, Action act, Action <Exception> errorMessageAction, int retryTimes = 10, int retryWaitInMs = 1000)
 {
     ExecuteCodeBlockUntilNoExeception(act, errorMessageAction, retryTimes, retryWaitInMs);
 }
コード例 #5
0
 /// <summary>
 /// Execute Sql. If Sql contains line-breaks, sql is split into smaller sql statements and execute them separately
 /// </summary>
 /// <param name="processor"></param>
 /// <param name="sql"></param>
 public static void ExecuteSql(this IExtendedMigrationProcessor processor, string sql)
 {
     ExecuteSql(processor.ProcessSql, sql, false);
 }