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)); }
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)); }