30 lines
688 B
SQL
30 lines
688 B
SQL
CREATE DATABASE demo;
|
|
\c demo;
|
|
|
|
-- a single table is used for all events in the cqrs system
|
|
CREATE TABLE events
|
|
(
|
|
aggregate_type text NOT NULL,
|
|
aggregate_id text NOT NULL,
|
|
sequence bigint CHECK (sequence >= 0) NOT NULL,
|
|
payload jsonb NOT NULL,
|
|
metadata jsonb NOT NULL,
|
|
timestamp timestamp with time zone DEFAULT (CURRENT_TIMESTAMP),
|
|
PRIMARY KEY (aggregate_type, aggregate_id, sequence)
|
|
);
|
|
|
|
CREATE
|
|
USER
|
|
demo_user
|
|
WITH
|
|
NOCREATEDB
|
|
ENCRYPTED PASSWORD
|
|
'demo_pass';
|
|
|
|
GRANT
|
|
ALL PRIVILEGES
|
|
ON TABLE
|
|
events
|
|
TO
|
|
demo_user;
|