protected override async Task InitializeForcefully() { var existingTables = await GetExistingTables(); var sqlSource = new EmbeddedResourcesSqlSource(); var expectedTables = sqlSource.GetAvailableTableNames().ToArray(); // drop all tables in reverse order foreach (var expectedTable in expectedTables.Reverse()) { if (existingTables.Contains(expectedTable)) { await DropTable(expectedTable); } } // create all tables foreach (var expectedTable in expectedTables) { var query = await sqlSource.ReadSqlForTable(expectedTable); _ = await _connection.ExecuteAsync( sql : query.InjectSchema(Schema), param : _transactionProvider.Get()); } }
protected override async Task InitializeIfNeed() { var existingTables = await GetExistingTables(); var sqlSource = new EmbeddedResourcesSqlSource(); var expectedTables = sqlSource.GetAvailableTableNames().ToArray(); foreach (var expectedTable in expectedTables) { if (!existingTables.Contains(expectedTable)) { var query = await sqlSource.ReadSqlForTable(expectedTable); _ = await _connection.ExecuteAsync( sql : query.InjectSchema(Schema), param : _transactionProvider.Get()); } } }