public static DatabaseConfiguration SqlPersistenceConfiguration(InstanceStoreVersion DBVersion) { switch (DBVersion) { case InstanceStoreVersion.Version35: return(s_sqlPersistence35Config); case InstanceStoreVersion.Version40: return(s_sqlPersistence40Config); case InstanceStoreVersion.Version45: return(s_sqlPersistence45Config); default: return(s_sqlPersistence45Config); } }
private static DatabaseConfiguration InitSqlPersistenceConfiguration(InstanceStoreVersion DBVersion) { switch (DBVersion) { case (InstanceStoreVersion.Version40): string[] sqlInstanceStore40Tables = { "InstanceMetadataChangesTable", "InstancePromotedPropertiesTable", "InstancesTable", "KeysTable", "LockOwnersTable", "RunnableInstancesTable", "ServiceDeploymentsTable", "SqlWorkflowInstanceStoreVersionTable" }; string[] sqlInstanceStore40StoredProcs = { "AssociateKeys", "CompleteKeys", "CreateInstance", "CreateLockOwner", "CreateServiceDeployment", "DeleteInstance", "DeleteLockOwner", "DetectRunnableInstances", "ExtendLock", "FreeKeys", "GetActivatableWorkflowsActivationParameters", "InsertPromotedProperties", "InsertRunnableInstanceEntry", "LoadInstance", "LockInstance", "RecoverInstanceLocks", "SaveInstance", "TryLoadRunnableInstance", "UnlockInstance", }; string[] sqlInstanceStore40Roles = { "Microsoft.CoreWf.DurableInstancing.InstanceStoreObservers", "Microsoft.CoreWf.DurableInstancing.InstanceStoreUsers" }; return(new DatabaseConfiguration() { CreateSchema = Path.Combine(s_scriptDirectoryPath40, "SqlWorkflowInstanceStoreSchema40.sql"), CreateLogic = Path.Combine(s_scriptDirectoryPath40, "SqlWorkflowInstanceStoreLogic40.sql"), DropSchema = Path.Combine(s_scriptDirectoryPath, "DropSqlWorkflowInstanceStoreSchema.sql"), DropLogic = Path.Combine(s_scriptDirectoryPath, "DropSqlWorkflowInstanceStoreLogic.sql"), UpgradeSchema = Path.Combine(s_scriptDirectoryPath, "SqlWorkflowInstanceStoreSchemaUpgrade.sql"), TableNames = new List <string>(sqlInstanceStore40Tables), StoredProcedureNames = new List <string>(sqlInstanceStore40StoredProcs), Roles = new List <string>(sqlInstanceStore40Roles) }); case (InstanceStoreVersion.Version35): string[] legacySqlPPTables = { "InstanceData" }; string[] legacySqlPPStoredProcs = { "DeleteInstance", "InsertInstance", "LoadInstance", "UnlockInstance", "UpdateInstance" }; string[] legacySqlPPRoles = { "persistenceUsers" }; return(new DatabaseConfiguration() { CreateSchema = Path.Combine(s_scriptDirectoryPath, "SqlPersistenceProviderSchema.sql"), CreateLogic = Path.Combine(s_scriptDirectoryPath, "SqlPersistenceProviderLogic.sql"), DropSchema = Path.Combine(s_scriptDirectoryPath, "DropSqlPersistenceProviderSchema.sql"), DropLogic = Path.Combine(s_scriptDirectoryPath, "DropSqlPersistenceProviderLogic.sql"), UpgradeSchema = Path.Combine(s_scriptDirectoryPath, "SqlWorkflowInstanceStoreSchemaUpgrade.sql"), TableNames = new List <string>(legacySqlPPTables), StoredProcedureNames = new List <string>(legacySqlPPStoredProcs), Roles = new List <string>(legacySqlPPRoles) }); default: string[] sqlInstanceStoreTables = { "InstanceMetadataChangesTable", "InstancePromotedPropertiesTable", "InstancesTable", "KeysTable", "LockOwnersTable", "RunnableInstancesTable", "ServiceDeploymentsTable", "SqlWorkflowInstanceStoreVersionTable", "DefinitionIdentityTable", "IdentityOwnerTable", }; string[] sqlInstanceStoreStoredProcs = { "AssociateKeys", "CompleteKeys", "CreateInstance", "CreateLockOwner", "CreateServiceDeployment", "DeleteInstance", "DeleteLockOwner", "DetectRunnableInstances", "ExtendLock", "FreeKeys", "GetActivatableWorkflowsActivationParameters", "InsertPromotedProperties", "InsertRunnableInstanceEntry", "LoadInstance", "LockInstance", "RecoverInstanceLocks", "SaveInstance", "TryLoadRunnableInstance", "UnlockInstance", "GetWorkflowInstanceStoreVersion", "InsertDefinitionIdentity" }; string[] sqlInstanceStoreRoles = { "Microsoft.CoreWf.DurableInstancing.InstanceStoreObservers", "Microsoft.CoreWf.DurableInstancing.InstanceStoreUsers" }; return(new DatabaseConfiguration() { CreateSchema = Path.Combine(s_scriptDirectoryPath, "SqlWorkflowInstanceStoreSchema.sql"), CreateLogic = Path.Combine(s_scriptDirectoryPath, "SqlWorkflowInstanceStoreLogic.sql"), DropSchema = Path.Combine(s_scriptDirectoryPath, "DropSqlWorkflowInstanceStoreSchema.sql"), DropLogic = Path.Combine(s_scriptDirectoryPath, "DropSqlWorkflowInstanceStoreLogic.sql"), UpgradeSchema = Path.Combine(s_scriptDirectoryPath, "SqlWorkflowInstanceStoreSchemaUpgrade.sql"), TableNames = new List <string>(sqlInstanceStoreTables), StoredProcedureNames = new List <string>(sqlInstanceStoreStoredProcs), Roles = new List <string>(sqlInstanceStoreRoles) }); } }