The ability to write oplog entries using a ticket based system to ensure serialization. Uses a go-kms-wrapper for encrypting/decrypting entries. Co-authored-by: Jim Lambert <jlm.lambert@gmail.com> Co-authored-by: Michael Gaffney <mgaffney@users.noreply.github.com> Co-authored-by: Todd Knight <T.Alan.Knight@gmail.com> Co-authored-by: Jeff Mitchell <jeffrey.mitchell@gmail.com>
24 lines
1.0 KiB
SQL
24 lines
1.0 KiB
SQL
CREATE TABLE if not exists oplog_entry (
|
|
id bigint generated always as identity primary key,
|
|
create_time timestamp with time zone default current_timestamp,
|
|
update_time timestamp with time zone default current_timestamp,
|
|
version text NOT NULL,
|
|
aggregate_name text NOT NULL,
|
|
"data" bytea NOT NULL
|
|
);
|
|
CREATE TABLE if not exists oplog_ticket (
|
|
id bigint generated always as identity primary key,
|
|
create_time timestamp with time zone default current_timestamp,
|
|
update_time timestamp with time zone default current_timestamp,
|
|
"name" text NOT NULL UNIQUE,
|
|
"version" bigint NOT NULL
|
|
);
|
|
CREATE TABLE if not exists oplog_metadata (
|
|
id bigint generated always as identity primary key,
|
|
create_time timestamp with time zone default current_timestamp,
|
|
entry_id bigint NOT NULL REFERENCES oplog_entry(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
"key" text NOT NULL,
|
|
value text NULL
|
|
);
|
|
create index if not exists idx_oplog_metatadata_key on oplog_metadata(key);
|
|
create index if not exists idx_oplog_metatadata_value on oplog_metadata(value); |