public async Task <MySqlStreamStore> GetUninitializedMySqlStreamStore() { await CreateDatabase(); var settings = new MySqlStreamStoreSettings(ConnectionString); return(new MySqlStreamStore(settings)); }
public async Task <MySqlStreamStore> GetUninitializedMySqlStreamStore(bool scavengeAsynchronously = false) { await CreateDatabase(); var settings = new MySqlStreamStoreSettings(ConnectionString) { ScavengeAsynchronously = scavengeAsynchronously }; return(new MySqlStreamStore(settings)); }
public async Task <MySqlStreamStore> GetMySqlStreamStore() { await CreateDatabase(); var settings = new MySqlStreamStoreSettings(ConnectionString); var mySqlStreamStore = new MySqlStreamStore(settings); await mySqlStreamStore.CreateSchemaIfNotExists(); return(mySqlStreamStore); }
private int OnExecute(CommandLineApplication app) { if (string.IsNullOrEmpty(SQLDialect) || string.IsNullOrEmpty(Output)) { app.ShowHelp(); return(0); } var exitCode = 0; switch (SQLDialect.ToLowerInvariant()) { case "mssqlv2": #pragma warning disable 618 var mssqlV2Settings = new MsSqlStreamStoreSettings(new SqlConnectionStringBuilder { DataSource = "tcp:0.0.0.0,1433" }.ConnectionString); if (!string.IsNullOrEmpty(Schema)) { mssqlV2Settings.Schema = Schema; } if (CreateSchema) { var script = string.Join( Environment.NewLine, $@"IF NOT EXISTS ( SELECT schema_name FROM information_schema.schemata WHERE schema_name = '{Schema}' ) BEGIN EXEC sp_executesql N'CREATE SCHEMA {Schema}' END", new MsSqlStreamStore(mssqlV2Settings).GetSchemaCreationScript()); File.WriteAllText(Output, script); } else { File.WriteAllText(Output, new MsSqlStreamStore(mssqlV2Settings).GetSchemaCreationScript()); } #pragma warning restore 618 break; case "mssqlv3": var mssqlV3Settings = new MsSqlStreamStoreV3Settings(new SqlConnectionStringBuilder { DataSource = "tcp:0.0.0.0,1433" }.ConnectionString); if (!string.IsNullOrEmpty(Schema)) { mssqlV3Settings.Schema = Schema; } if (CreateSchema) { var script = string.Join( Environment.NewLine, $@"IF NOT EXISTS ( SELECT schema_name FROM information_schema.schemata WHERE schema_name = '{Schema}' ) BEGIN EXEC sp_executesql N'CREATE SCHEMA {Schema}' END", new MsSqlStreamStoreV3(mssqlV3Settings).GetSchemaCreationScript()); File.WriteAllText(Output, script); } else { File.WriteAllText(Output, new MsSqlStreamStoreV3(mssqlV3Settings).GetSchemaCreationScript()); } break; case "mysql": var mysqlSettings = new MySqlStreamStoreSettings(new MySqlConnectionStringBuilder { Server = "0.0.0.0" }.ConnectionString); if (!string.IsNullOrEmpty(Schema)) { Log.Information("The optional database schema does not apply to the mysql dialect and can be omitted: {Schema}", Schema); } File.WriteAllText(Output, new MySqlStreamStore(mysqlSettings).GetSchemaCreationScript()); break; case "postgres": var postgresSettings = new PostgresStreamStoreSettings(new NpgsqlConnectionStringBuilder { Host = "0.0.0.0" }.ConnectionString); if (!string.IsNullOrEmpty(Schema)) { postgresSettings.Schema = Schema; } if (CreateSchema) { var script = string.Join( Environment.NewLine, $"CREATE SCHEMA IF NOT EXISTS {Schema};", new PostgresStreamStore(postgresSettings).GetSchemaCreationScript() ); File.WriteAllText(Output, script); } else { File.WriteAllText(Output, new PostgresStreamStore(postgresSettings).GetSchemaCreationScript()); } break; default: Log.Error("The SQL dialect was not recognized: {SQLDialect}", SQLDialect); exitCode = 1; break; } return(exitCode); }