· 6 years ago · Jun 26, 2019, 01:12 PM
1USE [$DataBaseName]
2GO
3
4--[WorkflowInstance]
5
6DROP INDEX [IX_WorkflowInstance_ModifiedOn] ON [dbo].[WorkflowInstance]
7GO
8
9DROP INDEX [IX_WorkflowInstance_ProcessingInstanceExecutionId] ON [dbo].[WorkflowInstance]
10GO
11
12DROP INDEX [IX_WorkflowInstance_ProcessingInstanceId] ON [dbo].[WorkflowInstance]
13GO
14
15IF EXISTS (SELECT * FROM sys.foreign_keys WHERE parent_object_id = OBJECT_ID(N'[dbo].[WorkflowInstanceRecovery]') AND name = N'FK_WorkflowInstanceRecovery_WorkflowInstance')
16ALTER TABLE [dbo].[WorkflowInstanceRecovery] DROP CONSTRAINT [FK_WorkflowInstanceRecovery_WorkflowInstance]
17GO
18
19IF EXISTS (SELECT * FROM sys.foreign_keys WHERE parent_object_id = OBJECT_ID(N'[dbo].[WorkflowInstanceDetails]') AND name = N'FK_WorkflowInstanceDetails_WorkflowInstance')
20ALTER TABLE [dbo].[WorkflowInstanceDetails] DROP CONSTRAINT [FK_WorkflowInstanceDetails_WorkflowInstance]
21GO
22
23IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[WorkflowInstance]') AND name = N'PK_WorkflowInstance')
24ALTER TABLE [dbo].[WorkflowInstance] DROP CONSTRAINT [PK_WorkflowInstance]
25GO
26
27--IX [WorkflowInstanceDetails]
28IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[WorkflowInstanceDetails]') AND name = N'PK_WorkflowInstanceDetails')
29ALTER TABLE [dbo].[WorkflowInstanceDetails] DROP CONSTRAINT [PK_WorkflowInstanceDetails]
30GO
31
32DROP TABLE [dbo].[WorkflowInstance]
33GO
34
35CREATE TABLE [dbo].[WorkflowInstance](
36 [Id] [bigint] IDENTITY(1,1) NOT NULL,
37 [InstanceId] [uniqueidentifier] NOT NULL,
38 [TemplateId] [uniqueidentifier] NOT NULL,
39 [ParentId] [uniqueidentifier] NULL,
40 [Status] [tinyint] NOT NULL,
41 [CurrentActivityId] [int] NOT NULL,
42 [CurrentActivityAwaitingState] [nvarchar](max) NULL,
43 [EvaluationInstanceId] [uniqueidentifier] NULL,
44 [Variables] [nvarchar](max) NULL,
45 [WorkflowArguments] [nvarchar](max) NULL,
46 [OutputValues] [nvarchar](max) NULL,
47 [CreatedOn] [datetime2](7) NOT NULL,
48 [ModifiedOn] [datetime2](7) NOT NULL,
49 [ExecutionPlace] [nvarchar](max) NULL,
50 [ExecutionPlaceMode] [tinyint] NOT NULL,
51 [ProcessingInstanceExecutionId] [uniqueidentifier] NULL,
52 [CurrentActivityTypeId] [uniqueidentifier] NULL,
53 [CurrentActivityRetryEnabled] [bit] NOT NULL,
54 [ParentActivityId] [int] NULL,
55 [ModifiedBy] [nvarchar](255) NULL,
56 [ExecutedBy] [nvarchar](255) NULL,
57 [ParentActivityIndex] [int] NULL,
58 [DebugMode] [bit] NOT NULL,
59 [ImmediateDeleteEnabled] [bit] NOT NULL,
60 [CurrentActivityOutputState] [nvarchar](30) NULL,
61 [StatusReason] [nvarchar](max) NULL,
62) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
63
64ALTER TABLE [dbo].[WorkflowInstance] ADD CONSTRAINT [PK_WorkflowInstance] PRIMARY KEY CLUSTERED
65(
66 [Id] ASC
67)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
68GO
69
70ALTER TABLE [dbo].[WorkflowInstance] ADD CONSTRAINT [UQ_WorkflowInstance_InstanceId] UNIQUE NONCLUSTERED
71(
72 [InstanceId] ASC
73)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
74GO
75
76--IX [WorkflowInstance]
77
78CREATE NONCLUSTERED INDEX [IX_WorkflowInstance_ModifiedOn] ON [dbo].[WorkflowInstance]
79(
80 [ModifiedOn] ASC
81)
82INCLUDE ( [InstanceId]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
83GO
84
85CREATE NONCLUSTERED INDEX [IX_WorkflowInstance_ProcessingInstanceExecutionId] ON [dbo].[WorkflowInstance]
86(
87 [ProcessingInstanceExecutionId] ASC
88)
89INCLUDE ( [InstanceId],
90 [Status]) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
91GO
92
93CREATE NONCLUSTERED INDEX [IX_WorkflowInstance_ProcessingInstanceId] ON [dbo].[WorkflowInstance]
94(
95 [ProcessingInstanceExecutionId] ASC
96)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
97GO
98
99
100--FK [WorkflowInstanceRecovery]
101ALTER TABLE [dbo].[WorkflowInstanceRecovery] WITH CHECK ADD CONSTRAINT [FK_WorkflowInstanceRecovery_WorkflowInstance] FOREIGN KEY(InstanceId)
102REFERENCES [dbo].[WorkflowInstance] (InstanceId)
103ON DELETE CASCADE
104GO
105
106ALTER TABLE [dbo].[WorkflowInstanceRecovery] CHECK CONSTRAINT [FK_WorkflowInstanceRecovery_WorkflowInstance]
107GO
108
109--FK [WorkflowInstanceDetails]
110ALTER TABLE [dbo].[WorkflowInstanceDetails] WITH CHECK ADD CONSTRAINT [FK_WorkflowInstanceDetails_WorkflowInstance] FOREIGN KEY([InstanceId])
111REFERENCES [dbo].[WorkflowInstance] ([InstanceId])
112ON DELETE CASCADE
113GO
114
115ALTER TABLE [dbo].[WorkflowInstanceDetails] CHECK CONSTRAINT [FK_WorkflowInstanceDetails_WorkflowInstance]
116GO
117
118--FK [WorkflowInstance]
119ALTER TABLE [dbo].[WorkflowInstance] WITH CHECK ADD CONSTRAINT [FK_WorkflowInstance_ActivityCatalog] FOREIGN KEY([CurrentActivityTypeId])
120REFERENCES [dbo].[ActivityCatalog] ([Id])
121GO
122
123ALTER TABLE [dbo].[WorkflowInstance] CHECK CONSTRAINT [FK_WorkflowInstance_ActivityCatalog]
124GO
125
126ALTER TABLE [dbo].[WorkflowInstance] WITH CHECK ADD CONSTRAINT [FK_WorkflowInstance_ProcessingInstanceExecution] FOREIGN KEY([ProcessingInstanceExecutionId])
127REFERENCES [dbo].[ProcessingInstanceExecution] ([Id])
128GO
129
130ALTER TABLE [dbo].[WorkflowInstance] CHECK CONSTRAINT [FK_WorkflowInstance_ProcessingInstanceExecution]
131GO
132
133ALTER TABLE [dbo].[WorkflowInstance] WITH CHECK ADD CONSTRAINT [FK_WorkflowInstance_WorkflowTemplate] FOREIGN KEY([TemplateId])
134REFERENCES [dbo].[WorkflowTemplate] ([Id])
135GO
136
137ALTER TABLE [dbo].[WorkflowInstance] CHECK CONSTRAINT [FK_WorkflowInstance_WorkflowTemplate]
138GO
139
140GO