From 318a8f50ed45799a3b85619affe162984241dd0a Mon Sep 17 00:00:00 2001 From: Michael Freidgeim Date: Fri, 17 Jun 2022 22:54:40 +1000 Subject: [PATCH 1/2] Migrating from V2 Schema to V3 Example --- docs/sqlserver.md | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/docs/sqlserver.md b/docs/sqlserver.md index 207ca9b..54ef0b9 100644 --- a/docs/sqlserver.md +++ b/docs/sqlserver.md @@ -29,4 +29,28 @@ TODO # Migrating from V2 Schema to V3 -TODO \ No newline at end of file + // simplified code example + + var settings = new MsSqlStreamStoreV3Settings(); // you can set some not default values + var v3Store = new MsSqlStreamStoreV3(settings); + await v3Store.CreateSchemaIfNotExists(); + var checkSchemaResult = await v3Store.CheckSchema(); + _logger.LogInformation($"checkSchemaResult before Migrate CurrentVersion {checkSchemaResult.CurrentVersion } "); + if (checkSchemaResult.CurrentVersion == 2) + { + // you can consider to run migration as fire and forget to not block the main thread + //Task.Factory.StartNew(() => MigrateToV3()); + + _logger.LogInformation($"Before Migrate IsMatch {checkSchemaResult.IsMatch()} CurrentVersion {checkSchemaResult.CurrentVersion} ExpectedVersion {checkSchemaResult.ExpectedVersion} "); + var progress = new Progress(); + progress.ProgressChanged += (_, migrateProgress) => + _logger.LogInformation($"Migration stage complete: {migrateProgress.Stage}"); + await v3Store.Migrate(progress, CancellationToken.None) + + checkSchemaResult = await v3Store.CheckSchema(); + _logger.LogInformation($"After Migrate IsMatch {checkSchemaResult.IsMatch()} CurrentVersion {checkSchemaResult.CurrentVersion} ExpectedVersion {checkSchemaResult.ExpectedVersion} "); + } + return v3Store; + + + From b5818b82da51928ff7531773209410443253587d Mon Sep 17 00:00:00 2001 From: Michael Freidgeim Date: Sat, 18 Jun 2022 09:59:44 +1000 Subject: [PATCH 2/2] Link to wiki --- docs/sqlserver.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/sqlserver.md b/docs/sqlserver.md index 54ef0b9..4e5ed02 100644 --- a/docs/sqlserver.md +++ b/docs/sqlserver.md @@ -52,5 +52,7 @@ TODO } return v3Store; + +See more details in [Wiki Example-of-Migration-to-MsSqlStreamStoreV3](https://github.com/SQLStreamStore/SQLStreamStore/wiki/Example-of-Migration-to-MsSqlStreamStoreV3)