aboutsummaryrefslogtreecommitdiffstats
path: root/workflow-designer-init/src/main/docker/create_workflow_db.cql
blob: c6c1f15e6c1ae881252cf37cc761e099143ccc66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
CREATE KEYSPACE IF NOT EXISTS WORKFLOW
WITH DURABLE_WRITES = TRUE
AND REPLICATION = {
	'class' : 'SimpleStrategy',
	'replication_factor' : 1
};

USE WORKFLOW;

CREATE TABLE IF NOT EXISTS UNIQUE_VALUE (
	TYPE TEXT,
	VALUE TEXT,
	PRIMARY KEY (( TYPE, VALUE ))
);

CREATE KEYSPACE IF NOT EXISTS ZUSAMMEN_WORKFLOW
WITH REPLICATION = {
	'class' : 'SimpleStrategy',
	'replication_factor' : 1
};

USE ZUSAMMEN_WORKFLOW;

CREATE TABLE IF NOT EXISTS ITEM (
	ITEM_ID TEXT PRIMARY KEY,
	ITEM_INFO TEXT,
	CREATION_TIME TIMESTAMP,
	MODIFICATION_TIME TIMESTAMP
);

CREATE TABLE IF NOT EXISTS VERSION (
	SPACE TEXT,
	ITEM_ID TEXT,
	VERSION_ID TEXT,
	BASE_VERSION_ID TEXT,
	INFO TEXT,
	RELATIONS TEXT,
	CREATION_TIME TIMESTAMP,
	MODIFICATION_TIME TIMESTAMP,
	PRIMARY KEY (( SPACE, ITEM_ID ), VERSION_ID)
);

CREATE TABLE IF NOT EXISTS VERSION_ELEMENTS (
	SPACE TEXT,
	ITEM_ID TEXT,
	VERSION_ID TEXT,
	REVISION_ID TEXT,
	ELEMENT_IDS MAP<TEXT, TEXT>,
	DIRTY_ELEMENT_IDS SET<TEXT>,
	STAGE_ELEMENT_IDS SET<TEXT>,
	CONFLICT_ELEMENT_IDS SET<TEXT>,
	PUBLISH_TIME TIMESTAMP,
	USER TEXT,
	MESSAGE TEXT,
	PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID ), REVISION_ID)
);

CREATE TABLE IF NOT EXISTS ELEMENT_NAMESPACE (
	ITEM_ID TEXT,
	ELEMENT_ID TEXT,
	NAMESPACE TEXT,
	PRIMARY KEY (( ITEM_ID, ELEMENT_ID ))
);

CREATE TABLE IF NOT EXISTS ELEMENT (
	SPACE TEXT,
	ITEM_ID TEXT,
	VERSION_ID TEXT,
	ELEMENT_ID TEXT,
	REVISION_ID TEXT,
	PARENT_ID TEXT,
	NAMESPACE TEXT,
	INFO TEXT,
	RELATIONS TEXT,
	DATA BLOB,
	SEARCHABLE_DATA BLOB,
	VISUALIZATION BLOB,
	SUB_ELEMENT_IDS SET<TEXT>,
	ELEMENT_HASH TEXT,
	PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID, ELEMENT_ID ), REVISION_ID)
);

CREATE TABLE IF NOT EXISTS ELEMENT_SYNCHRONIZATION_STATE (
	SPACE TEXT,
	ITEM_ID TEXT,
	VERSION_ID TEXT,
	ELEMENT_ID TEXT,
	REVISION_ID TEXT,
	PUBLISH_TIME TIMESTAMP,
	DIRTY BOOLEAN,
	PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID ), ELEMENT_ID, REVISION_ID)
);

CREATE TABLE IF NOT EXISTS ELEMENT_STAGE (
	SPACE TEXT,
	ITEM_ID TEXT,
	VERSION_ID TEXT,
	ELEMENT_ID TEXT,
	PARENT_ID TEXT,
	NAMESPACE TEXT,
	INFO TEXT,
	RELATIONS TEXT,
	DATA BLOB,
	SEARCHABLE_DATA BLOB,
	VISUALIZATION BLOB,
	SUB_ELEMENT_IDS SET<TEXT>,
	ELEMENT_HASH TEXT,
	PUBLISH_TIME TIMESTAMP,
	ACTION TEXT,
	CONFLICTED BOOLEAN,
	CONFLICT_DEPENDENT_IDS SET<TEXT>,
	PRIMARY KEY (( SPACE, ITEM_ID, VERSION_ID, ELEMENT_ID ))
);

CREATE TABLE IF NOT EXISTS VERSION_STAGE (
	SPACE TEXT,
	ITEM_ID TEXT,
	VERSION_ID TEXT,
	BASE_VERSION_ID TEXT,
	CREATION_TIME TIMESTAMP,
	MODIFICATION_TIME TIMESTAMP,
	PUBLISH_TIME TIMESTAMP,
	ACTION TEXT,
	PRIMARY KEY (( SPACE, ITEM_ID ), VERSION_ID)
);