diff options
author | rtkay123 <dev@kanjala.com> | 2025-08-10 13:45:11 +0200 |
---|---|---|
committer | rtkay123 <dev@kanjala.com> | 2025-08-10 13:45:11 +0200 |
commit | dbff6fa4e5684d8636fd46ecadfe5874a253bd49 (patch) | |
tree | 1039d96c2d02fbc6df1b7b218446c3a8acf1c6b5 /crates/pseudonyms/migrations | |
parent | 8cda165f9d3f108c80a4c9ee10c68a28299cb2d1 (diff) | |
download | warden-dbff6fa4e5684d8636fd46ecadfe5874a253bd49.tar.bz2 warden-dbff6fa4e5684d8636fd46ecadfe5874a253bd49.zip |
feat(pseudonyms): serve api
Diffstat (limited to 'crates/pseudonyms/migrations')
4 files changed, 42 insertions, 0 deletions
diff --git a/crates/pseudonyms/migrations/20250810112925_account.sql b/crates/pseudonyms/migrations/20250810112925_account.sql new file mode 100644 index 0000000..ec5ffbb --- /dev/null +++ b/crates/pseudonyms/migrations/20250810112925_account.sql @@ -0,0 +1,3 @@ +create table account ( + id varchar primary key +); diff --git a/crates/pseudonyms/migrations/20250810112930_entity.sql b/crates/pseudonyms/migrations/20250810112930_entity.sql new file mode 100644 index 0000000..7edce20 --- /dev/null +++ b/crates/pseudonyms/migrations/20250810112930_entity.sql @@ -0,0 +1,4 @@ +create table entity ( + id varchar primary key, + cre_dt_tm timestamptz not null +); diff --git a/crates/pseudonyms/migrations/20250810112936_account_holder.sql b/crates/pseudonyms/migrations/20250810112936_account_holder.sql new file mode 100644 index 0000000..7d7c844 --- /dev/null +++ b/crates/pseudonyms/migrations/20250810112936_account_holder.sql @@ -0,0 +1,6 @@ +create table account_holder ( + source varchar references entity(id), + destination varchar references account(id), + cre_dt_tm timestamptz not null, + primary key (source, destination) +); diff --git a/crates/pseudonyms/migrations/20250810112945_transaction_relationship.sql b/crates/pseudonyms/migrations/20250810112945_transaction_relationship.sql new file mode 100644 index 0000000..b28b61c --- /dev/null +++ b/crates/pseudonyms/migrations/20250810112945_transaction_relationship.sql @@ -0,0 +1,29 @@ +create table transaction_relationship ( + source varchar references account(id), + destination varchar references account(id), + amt_unit bigint not null, + amt_ccy varchar(3) not null, + amt_nanos integer not null, + cre_dt_tm timestamptz not null, + end_to_end_id varchar not null check (trim(end_to_end_id) <> ''), + msg_id varchar not null check (trim(msg_id) <> ''), + pmt_inf_id varchar not null check (trim(pmt_inf_id) <> ''), + tx_tp varchar not null check (trim(tx_tp) <> ''), + lat float8, + lon float8, + tx_sts varchar, + primary key (msg_id, end_to_end_id, tx_tp, pmt_inf_id) +); + +create index idx_transaction_status_range + on transaction_relationship (tx_tp, tx_sts, cre_dt_tm desc); + +create index idx_transaction_e2eid_tp_sts + on transaction_relationship (end_to_end_id, tx_tp, tx_sts); + +create index idx_transaction_accc_only + on transaction_relationship (cre_dt_tm) + where tx_sts = 'ACCC'; + +create index idx_transaction_source_time + on transaction_relationship (source, cre_dt_tm desc); |