2020-07-28 07:42:21 +00:00
|
|
|
CREATE SEQUENCE eventstore.event_seq;
|
|
|
|
|
|
|
|
GRANT UPDATE ON TABLE eventstore.event_seq TO management;
|
|
|
|
GRANT UPDATE ON TABLE eventstore.event_seq TO eventstore;
|
|
|
|
GRANT UPDATE ON TABLE eventstore.event_seq TO adminapi;
|
|
|
|
GRANT UPDATE ON TABLE eventstore.event_seq TO auth;
|
|
|
|
GRANT UPDATE ON TABLE eventstore.event_seq TO authz;
|
|
|
|
GRANT UPDATE ON TABLE eventstore.event_seq TO notification;
|
|
|
|
|
2020-07-29 07:54:37 +00:00
|
|
|
SET experimental_enable_hash_sharded_indexes = on;
|
2020-07-28 07:42:21 +00:00
|
|
|
|
|
|
|
CREATE TABLE eventstore.events (
|
|
|
|
id UUID DEFAULT gen_random_uuid(),
|
|
|
|
event_type TEXT,
|
|
|
|
aggregate_type TEXT NOT NULL,
|
|
|
|
aggregate_id TEXT NOT NULL,
|
|
|
|
aggregate_version TEXT NOT NULL,
|
|
|
|
event_sequence BIGINT NOT NULL DEFAULT nextval('eventstore.event_seq'),
|
|
|
|
previous_sequence BIGINT,
|
|
|
|
creation_date TIMESTAMPTZ NOT NULL DEFAULT now(),
|
|
|
|
event_data JSONB,
|
|
|
|
editor_user TEXT NOT NULL,
|
|
|
|
editor_service TEXT NOT NULL,
|
|
|
|
resource_owner TEXT NOT NULL,
|
|
|
|
|
2020-07-29 07:54:37 +00:00
|
|
|
CONSTRAINT event_sequence_pk PRIMARY KEY (event_sequence DESC) USING HASH WITH BUCKET_COUNT = 10,
|
2020-07-28 07:42:21 +00:00
|
|
|
INDEX agg_type_agg_id (aggregate_type, aggregate_id),
|
|
|
|
CONSTRAINT previous_sequence_unique UNIQUE (previous_sequence DESC)
|
|
|
|
);
|