Exemplo n.º 1
0
    async Task InstallSagas(string scriptDirectory, DbConnection connection, DbTransaction transaction, string tablePrefix, SqlDialect sqlDialect)
    {
        if (!settings.IsFeatureActive(typeof(SqlSagaFeature)))
        {
            return;
        }

        var sagasDirectory = Path.Combine(scriptDirectory, "Sagas");

        if (!Directory.Exists(sagasDirectory))
        {
            log.Info($"Directory '{sagasDirectory}' not found so no saga creation scripts will be executed.");
            return;
        }
        var scriptFiles = Directory.EnumerateFiles(sagasDirectory, "*_Create.sql").ToList();

        log.Info($@"Executing saga creation scripts:
{string.Join(Environment.NewLine, scriptFiles)}");
        var sagaScripts = scriptFiles
                          .Select(File.ReadAllText);

        foreach (var script in sagaScripts)
        {
            await sqlDialect.ExecuteTableCommand(connection, transaction, script, tablePrefix).ConfigureAwait(false);
        }
    }
        static Task InstallSubscriptions(string scriptDirectory, DbConnection connection, DbTransaction transaction, string tablePrefix, SqlDialect sqlDialect)
        {
            var createScript = Path.Combine(scriptDirectory, "Subscription_Create.sql");

            ScriptLocation.ValidateScriptExists(createScript);
            log.Info($"Executing '{createScript}'");

            return(sqlDialect.ExecuteTableCommand(
                       connection: connection,
                       transaction: transaction,
                       script: File.ReadAllText(createScript),
                       tablePrefix: tablePrefix));
        }
Exemplo n.º 3
0
    Task InstallTimeouts(string scriptDirectory, DbConnection connection, DbTransaction transaction, string tablePrefix, SqlDialect sqlDialect)
    {
        if (!settings.IsFeatureActive(typeof(SqlTimeoutFeature)))
        {
            return(Task.FromResult(0));
        }

        var createScript = Path.Combine(scriptDirectory, "Timeout_Create.sql");

        ScriptLocation.ValidateScriptExists(createScript);
        log.Info($"Executing '{createScript}'");

        return(sqlDialect.ExecuteTableCommand(
                   connection: connection,
                   transaction: transaction,
                   script: File.ReadAllText(createScript),
                   tablePrefix: tablePrefix));
    }