From ddfd7e96419a129c5acff0753497bdd4ceeba092 Mon Sep 17 00:00:00 2001 From: Poorya Date: Wed, 24 Jul 2019 17:46:22 +0200 Subject: [PATCH 1/2] parameterize postgres provider schema name --- .../MigrationContextFactory.cs | 2 +- .../PostgresContext.cs | 16 +++++++++------- .../PostgresContextFactory.cs | 6 ++++-- .../ServiceCollectionExtensions.cs | 5 +++-- .../PostgresPersistenceProviderFixture.cs | 2 +- 5 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/providers/WorkflowCore.Persistence.PostgreSQL/MigrationContextFactory.cs b/src/providers/WorkflowCore.Persistence.PostgreSQL/MigrationContextFactory.cs index 582034d42..4424b01cd 100644 --- a/src/providers/WorkflowCore.Persistence.PostgreSQL/MigrationContextFactory.cs +++ b/src/providers/WorkflowCore.Persistence.PostgreSQL/MigrationContextFactory.cs @@ -7,7 +7,7 @@ public class MigrationContextFactory : IDesignTimeDbContextFactory builder) { - builder.ToTable("Subscription", "wfc"); + builder.ToTable("Subscription", _schemaName); builder.Property(x => x.PersistenceId).ValueGeneratedOnAdd(); } protected override void ConfigureWorkflowStorage(EntityTypeBuilder builder) { - builder.ToTable("Workflow", "wfc"); + builder.ToTable("Workflow", _schemaName); builder.Property(x => x.PersistenceId).ValueGeneratedOnAdd(); } protected override void ConfigureExecutionPointerStorage(EntityTypeBuilder builder) { - builder.ToTable("ExecutionPointer", "wfc"); + builder.ToTable("ExecutionPointer", _schemaName); builder.Property(x => x.PersistenceId).ValueGeneratedOnAdd(); } protected override void ConfigureExecutionErrorStorage(EntityTypeBuilder builder) { - builder.ToTable("ExecutionError", "wfc"); + builder.ToTable("ExecutionError", _schemaName); builder.Property(x => x.PersistenceId).ValueGeneratedOnAdd(); } protected override void ConfigureExetensionAttributeStorage(EntityTypeBuilder builder) { - builder.ToTable("ExtensionAttribute", "wfc"); + builder.ToTable("ExtensionAttribute", _schemaName); builder.Property(x => x.PersistenceId).ValueGeneratedOnAdd(); } protected override void ConfigureEventStorage(EntityTypeBuilder builder) { - builder.ToTable("Event", "wfc"); + builder.ToTable("Event", _schemaName); builder.Property(x => x.PersistenceId).ValueGeneratedOnAdd(); } } diff --git a/src/providers/WorkflowCore.Persistence.PostgreSQL/PostgresContextFactory.cs b/src/providers/WorkflowCore.Persistence.PostgreSQL/PostgresContextFactory.cs index de6d0e24d..e0758dfab 100644 --- a/src/providers/WorkflowCore.Persistence.PostgreSQL/PostgresContextFactory.cs +++ b/src/providers/WorkflowCore.Persistence.PostgreSQL/PostgresContextFactory.cs @@ -9,15 +9,17 @@ namespace WorkflowCore.Persistence.PostgreSQL public class PostgresContextFactory : IWorkflowDbContextFactory { private readonly string _connectionString; + private readonly string _schemaName; - public PostgresContextFactory(string connectionString) + public PostgresContextFactory(string connectionString, string schemaName) { _connectionString = connectionString; + _schemaName = schemaName; } public WorkflowDbContext Build() { - return new PostgresContext(_connectionString); + return new PostgresContext(_connectionString,_schemaName); } } } diff --git a/src/providers/WorkflowCore.Persistence.PostgreSQL/ServiceCollectionExtensions.cs b/src/providers/WorkflowCore.Persistence.PostgreSQL/ServiceCollectionExtensions.cs index 26abb29ce..bf1bac81f 100644 --- a/src/providers/WorkflowCore.Persistence.PostgreSQL/ServiceCollectionExtensions.cs +++ b/src/providers/WorkflowCore.Persistence.PostgreSQL/ServiceCollectionExtensions.cs @@ -10,9 +10,10 @@ namespace Microsoft.Extensions.DependencyInjection { public static class ServiceCollectionExtensions { - public static WorkflowOptions UsePostgreSQL(this WorkflowOptions options, string connectionString, bool canCreateDB, bool canMigrateDB) + public static WorkflowOptions UsePostgreSQL(this WorkflowOptions options, + string connectionString, bool canCreateDB, bool canMigrateDB, string schemaName="wfc") { - options.UsePersistence(sp => new EntityFrameworkPersistenceProvider(new PostgresContextFactory(connectionString), canCreateDB, canMigrateDB)); + options.UsePersistence(sp => new EntityFrameworkPersistenceProvider(new PostgresContextFactory(connectionString, schemaName), canCreateDB, canMigrateDB)); return options; } } diff --git a/test/WorkflowCore.Tests.PostgreSQL/PostgresPersistenceProviderFixture.cs b/test/WorkflowCore.Tests.PostgreSQL/PostgresPersistenceProviderFixture.cs index 21215f61d..95ebe7976 100644 --- a/test/WorkflowCore.Tests.PostgreSQL/PostgresPersistenceProviderFixture.cs +++ b/test/WorkflowCore.Tests.PostgreSQL/PostgresPersistenceProviderFixture.cs @@ -19,7 +19,7 @@ public class PostgresPersistenceProviderFixture : BasePersistenceFixture public PostgresPersistenceProviderFixture(PostgresDockerSetup dockerSetup, ITestOutputHelper output) { output.WriteLine($"Connecting on {PostgresDockerSetup.ConnectionString}"); - _subject = new EntityFrameworkPersistenceProvider(new PostgresContextFactory(PostgresDockerSetup.ConnectionString), true, true); + _subject = new EntityFrameworkPersistenceProvider(new PostgresContextFactory(PostgresDockerSetup.ConnectionString,"wfc"), true, true); _subject.EnsureStoreExists(); } } From 5e7f31e979276c98af9e37bf5866dae0862b580d Mon Sep 17 00:00:00 2001 From: Poorya Date: Mon, 5 Aug 2019 12:51:10 +0200 Subject: [PATCH 2/2] update version --- .../WorkflowCore.Persistence.PostgreSQL.csproj | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/providers/WorkflowCore.Persistence.PostgreSQL/WorkflowCore.Persistence.PostgreSQL.csproj b/src/providers/WorkflowCore.Persistence.PostgreSQL/WorkflowCore.Persistence.PostgreSQL.csproj index e210a8b55..484dc6941 100644 --- a/src/providers/WorkflowCore.Persistence.PostgreSQL/WorkflowCore.Persistence.PostgreSQL.csproj +++ b/src/providers/WorkflowCore.Persistence.PostgreSQL/WorkflowCore.Persistence.PostgreSQL.csproj @@ -15,9 +15,9 @@ false false Provides support to persist workflows running on Workflow Core to a PostgreSQL database. - 2.0.0 - 2.0.0.0 - 2.0.0.0 + 2.0.1 + 2.0.1.0 + 2.0.1.0