activiti.oracle.create.engine.sql 6.2 KB
Newer Older
1
create table ACT_GE_PROPERTY (
2 3 4
    NAME_ NVARCHAR2(64),
    VALUE_ NVARCHAR2(300),
    REV_ INTEGER,
5 6 7 8
    primary key (NAME_)
);

insert into ACT_GE_PROPERTY
9
values ('schema.version', '5.9-SNAPSHOT', 1);
10

T
tombaeyens 已提交
11
insert into ACT_GE_PROPERTY
12
values ('schema.history', 'create(5.9-SNAPSHOT)', 1);
T
tombaeyens 已提交
13

14 15 16 17
insert into ACT_GE_PROPERTY
values ('next.dbid', '1', 1);

create table ACT_GE_BYTEARRAY (
18 19 20 21 22
    ID_ NVARCHAR2(64),
    REV_ INTEGER,
    NAME_ NVARCHAR2(255),
    DEPLOYMENT_ID_ NVARCHAR2(64),
    BYTES_ BLOB,
23 24 25 26
    primary key (ID_)
);

create table ACT_RE_DEPLOYMENT (
27 28 29
    ID_ NVARCHAR2(64),
    NAME_ NVARCHAR2(255),
    DEPLOY_TIME_ TIMESTAMP(6),
30 31 32 33
    primary key (ID_)
);

create table ACT_RU_EXECUTION (
34 35 36
    ID_ NVARCHAR2(64),
    REV_ INTEGER,
    PROC_INST_ID_ NVARCHAR2(64),
37
    BUSINESS_KEY_ NVARCHAR2(255),
38 39 40
    PARENT_ID_ NVARCHAR2(64),
    PROC_DEF_ID_ NVARCHAR2(64),
    SUPER_EXEC_ NVARCHAR2(64),
41
    ACT_ID_ NVARCHAR2(255),
42 43 44
    IS_ACTIVE_ NUMBER(1,0) CHECK (IS_ACTIVE_ IN (1,0)),
    IS_CONCURRENT_ NUMBER(1,0) CHECK (IS_CONCURRENT_ IN (1,0)),
    IS_SCOPE_ NUMBER(1,0) CHECK (IS_SCOPE_ IN (1,0)),
45
    SUSPENSION_STATE_ INTEGER,
46
    primary key (ID_)
47 48 49
);

create table ACT_RU_JOB (
50 51 52 53 54
    ID_ NVARCHAR2(64) NOT NULL,
    REV_ INTEGER,
    TYPE_ NVARCHAR2(255) NOT NULL,
    LOCK_EXP_TIME_ TIMESTAMP(6),
    LOCK_OWNER_ NVARCHAR2(255),
55
    EXCLUSIVE_ NUMBER(1,0) CHECK (EXCLUSIVE_ IN (1,0)),
56 57 58 59
    EXECUTION_ID_ NVARCHAR2(64),
    PROCESS_INSTANCE_ID_ NVARCHAR2(64),
    RETRIES_ INTEGER,
    EXCEPTION_STACK_ID_ NVARCHAR2(64),
60
    EXCEPTION_MSG_ NVARCHAR2(2000),
61 62 63
    DUEDATE_ TIMESTAMP(6),
    REPEAT_ NVARCHAR2(255),
    HANDLER_TYPE_ NVARCHAR2(255),
64
    HANDLER_CFG_ NVARCHAR2(2000),
65 66 67
    primary key (ID_)
);

68
create table ACT_RE_PROCDEF (
69
    ID_ NVARCHAR2(64),
70
    REV_ INTEGER,
71
    CATEGORY_ NVARCHAR2(255),
72 73 74 75
    NAME_ NVARCHAR2(255),
    KEY_ NVARCHAR2(255),
    VERSION_ INTEGER,
    DEPLOYMENT_ID_ NVARCHAR2(64),
76
    RESOURCE_NAME_ NVARCHAR2(2000),
77
    DGRM_RESOURCE_NAME_ varchar(4000),
J
jbarrez 已提交
78
    HAS_START_FORM_KEY_ NUMBER(1,0) CHECK (HAS_START_FORM_KEY_ IN (1,0)),
79
    SUSPENSION_STATE_ INTEGER,
80 81 82 83
    primary key (ID_)
);

create table ACT_RU_TASK (
84 85 86 87 88 89
    ID_ NVARCHAR2(64),
    REV_ INTEGER,
    EXECUTION_ID_ NVARCHAR2(64),
    PROC_INST_ID_ NVARCHAR2(64),
    PROC_DEF_ID_ NVARCHAR2(64),
    NAME_ NVARCHAR2(255),
90
    PARENT_TASK_ID_ NVARCHAR2(64),
91
    DESCRIPTION_ NVARCHAR2(2000),
92
    TASK_DEF_KEY_ NVARCHAR2(255),
T
tombaeyens 已提交
93
    OWNER_ NVARCHAR2(64),
94
    ASSIGNEE_ NVARCHAR2(64),
T
tombaeyens 已提交
95
    DELEGATION_ NVARCHAR2(64),
96 97
    PRIORITY_ INTEGER,
    CREATE_TIME_ TIMESTAMP(6),
98
    DUE_DATE_ TIMESTAMP(6),
99 100 101
    primary key (ID_)
);

102
create table ACT_RU_IDENTITYLINK (
103 104 105 106 107
    ID_ NVARCHAR2(64),
    REV_ INTEGER,
    GROUP_ID_ NVARCHAR2(64),
    TYPE_ NVARCHAR2(255),
    USER_ID_ NVARCHAR2(64),
108
    TASK_ID_ NVARCHAR2(64),
109 110 111 112
    primary key (ID_)
);

create table ACT_RU_VARIABLE (
113 114 115 116 117 118
    ID_ NVARCHAR2(64) not null,
    REV_ INTEGER,
    TYPE_ NVARCHAR2(255) not null,
    NAME_ NVARCHAR2(255) not null,
    EXECUTION_ID_ NVARCHAR2(64),
    PROC_INST_ID_ NVARCHAR2(64),
119
    TASK_ID_ NVARCHAR2(64),
120
    BYTEARRAY_ID_ NVARCHAR2(64),
121
    DOUBLE_ NUMBER(*,10),
122
    LONG_ NUMBER(19,0),
123 124
    TEXT_ NVARCHAR2(2000),
    TEXT2_ NVARCHAR2(2000),
125 126 127
    primary key (ID_)
);

128 129
create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
130 131
create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
T
tombaeyens 已提交
132

133
create index ACT_IDX_BYTEAR_DEPL on ACT_GE_BYTEARRAY(DEPLOYMENT_ID_);
T
tombaeyens 已提交
134
alter table ACT_GE_BYTEARRAY
135
    add constraint ACT_FK_BYTEARR_DEPL
136 137 138
    foreign key (DEPLOYMENT_ID_) 
    references ACT_RE_DEPLOYMENT (ID_);

139
create index ACT_IDX_EXE_PROCINST on ACT_RU_EXECUTION(PROC_INST_ID_);
140
alter table ACT_RU_EXECUTION
141
    add constraint ACT_FK_EXE_PROCINST
142 143 144
    foreign key (PROC_INST_ID_) 
    references ACT_RU_EXECUTION (ID_);

145
create index ACT_IDX_EXE_PARENT on ACT_RU_EXECUTION(PARENT_ID_);
146
alter table ACT_RU_EXECUTION
147
    add constraint ACT_FK_EXE_PARENT
148 149 150
    foreign key (PARENT_ID_) 
    references ACT_RU_EXECUTION (ID_);
    
151
create index ACT_IDX_EXE_SUPER on ACT_RU_EXECUTION(SUPER_EXEC_);
152
alter table ACT_RU_EXECUTION
153
    add constraint ACT_FK_EXE_SUPER
154 155
    foreign key (SUPER_EXEC_) 
    references ACT_RU_EXECUTION (ID_);
156

157
create index ACT_IDX_TSKASS_TASK on ACT_RU_IDENTITYLINK(TASK_ID_);
158
alter table ACT_RU_IDENTITYLINK
159
    add constraint ACT_FK_TSKASS_TASK
160
    foreign key (TASK_ID_) 
161 162
    references ACT_RU_TASK (ID_);
    
163
create index ACT_IDX_TASK_EXEC on ACT_RU_TASK(EXECUTION_ID_);
164
alter table ACT_RU_TASK
165
    add constraint ACT_FK_TASK_EXE
166 167 168
    foreign key (EXECUTION_ID_)
    references ACT_RU_EXECUTION (ID_);
    
169
create index ACT_IDX_TASK_PROCINST on ACT_RU_TASK(PROC_INST_ID_);
170
alter table ACT_RU_TASK
171
    add constraint ACT_FK_TASK_PROCINST
172 173 174
    foreign key (PROC_INST_ID_)
    references ACT_RU_EXECUTION (ID_);
    
175
create index ACT_IDX_TASK_PROCDEF on ACT_RU_TASK(PROC_DEF_ID_);
176
alter table ACT_RU_TASK
177
  add constraint ACT_FK_TASK_PROCDEF
178
  foreign key (PROC_DEF_ID_)
179
  references ACT_RE_PROCDEF (ID_);
180
  
181
create index ACT_IDX_VAR_EXE on ACT_RU_VARIABLE(EXECUTION_ID_);
182
alter table ACT_RU_VARIABLE 
183
    add constraint ACT_FK_VAR_EXE
184 185 186
    foreign key (EXECUTION_ID_) 
    references ACT_RU_EXECUTION (ID_);

187
create index ACT_IDX_VAR_PROCINST on ACT_RU_VARIABLE(PROC_INST_ID_);
188
alter table ACT_RU_VARIABLE
189
    add constraint ACT_FK_VAR_PROCINST
190 191 192
    foreign key (PROC_INST_ID_)
    references ACT_RU_EXECUTION(ID_);

193
create index ACT_IDX_VAR_BYTEARRAY on ACT_RU_VARIABLE(BYTEARRAY_ID_);
194
alter table ACT_RU_VARIABLE 
195
    add constraint ACT_FK_VAR_BYTEARRAY 
196 197 198
    foreign key (BYTEARRAY_ID_) 
    references ACT_GE_BYTEARRAY (ID_);

199
create index ACT_IDX_JOB_EXCEPTION on ACT_RU_JOB(EXCEPTION_STACK_ID_);
200
alter table ACT_RU_JOB 
201
    add constraint ACT_FK_JOB_EXCEPTION
202
    foreign key (EXCEPTION_STACK_ID_) 
203 204 205
    references ACT_GE_BYTEARRAY (ID_);
    
-- see http://stackoverflow.com/questions/675398/how-can-i-constrain-multiple-columns-to-prevent-duplicates-but-ignore-null-value
J
jbarrez 已提交
206
create unique index ACT_UNIQ_RU_BUS_KEY on ACT_RU_EXECUTION
207 208
   (case when BUSINESS_KEY_ is null then null else PROC_DEF_ID_ end,
    case when BUSINESS_KEY_ is null then null else BUSINESS_KEY_ end);