zitadel/migrations/cockroach/V1.1__eventstore.sql

30 lines
1.1 KiB
MySQL
Raw Normal View History

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;
SET experimental_enable_hash_sharded_indexes = on;
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,
CONSTRAINT event_sequence_pk PRIMARY KEY (event_sequence DESC) USING HASH WITH BUCKET_COUNT = 10,
INDEX agg_type_agg_id (aggregate_type, aggregate_id),
CONSTRAINT previous_sequence_unique UNIQUE (previous_sequence DESC)
);