コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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)
                });
            }
        }