/
mysql-create-schema.sql
40 lines (37 loc) · 1.31 KB
/
mysql-create-schema.sql
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
CREATE TABLE IF NOT EXISTS event_journal (
ordering SERIAL,
deleted BOOLEAN DEFAULT false NOT NULL,
persistence_id VARCHAR(255) NOT NULL,
sequence_number BIGINT NOT NULL,
writer TEXT NOT NULL,
write_timestamp BIGINT NOT NULL,
adapter_manifest TEXT NOT NULL,
event_payload BLOB NOT NULL,
event_ser_id INTEGER NOT NULL,
event_ser_manifest TEXT NOT NULL,
meta_payload BLOB,
meta_ser_id INTEGER,meta_ser_manifest TEXT,
PRIMARY KEY(persistence_id,sequence_number)
);
CREATE UNIQUE INDEX event_journal_ordering_idx ON event_journal(ordering);
CREATE TABLE IF NOT EXISTS event_tag (
event_id BIGINT UNSIGNED,
persistence_id VARCHAR(255),
sequence_number BIGINT,
tag VARCHAR(255) NOT NULL,
PRIMARY KEY(persistence_id, sequence_number, tag),
FOREIGN KEY (persistence_id, sequence_number)
REFERENCES event_journal(persistence_id, sequence_number)
ON DELETE CASCADE
);
CREATE TABLE IF NOT EXISTS snapshot (
persistence_id VARCHAR(255) NOT NULL,
sequence_number BIGINT NOT NULL,
created BIGINT NOT NULL,
snapshot_ser_id INTEGER NOT NULL,
snapshot_ser_manifest TEXT NOT NULL,
snapshot_payload BLOB NOT NULL,
meta_ser_id INTEGER,
meta_ser_manifest TEXT,
meta_payload BLOB,
PRIMARY KEY (persistence_id, sequence_number));