mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-13 03:24:26 +00:00
50 lines
912 B
MySQL
50 lines
912 B
MySQL
|
BEGIN;
|
||
|
|
||
|
CREATE DATABASE eventstore;
|
||
|
|
||
|
COMMIT;
|
||
|
|
||
|
|
||
|
BEGIN;
|
||
|
|
||
|
CREATE USER eventstore;
|
||
|
|
||
|
GRANT SELECT, INSERT, UPDATE ON DATABASE eventstore TO eventstore;
|
||
|
|
||
|
COMMIT;
|
||
|
|
||
|
BEGIN;
|
||
|
|
||
|
CREATE SEQUENCE eventstore.event_seq;
|
||
|
|
||
|
COMMIT;
|
||
|
|
||
|
BEGIN;
|
||
|
|
||
|
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 UNIQUE,
|
||
|
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,
|
||
|
|
||
|
PRIMARY KEY (id)
|
||
|
);
|
||
|
|
||
|
CREATE TABLE eventstore.locks (
|
||
|
aggregate_type TEXT NOT NULL,
|
||
|
aggregate_id TEXT NOT NULL,
|
||
|
until TIMESTAMPTZ,
|
||
|
UNIQUE (aggregate_type, aggregate_id)
|
||
|
);
|
||
|
|
||
|
COMMIT;
|