mirror of
https://github.com/valitydev/exporter-limits.git
synced 2024-11-06 00:25:22 +00:00
1792 lines
79 KiB
MySQL
1792 lines
79 KiB
MySQL
|
create table if not exists dw.flyway_schema_history
|
||
|
(
|
||
|
installed_rank integer not null
|
||
|
constraint flyway_schema_history_pk
|
||
|
primary key,
|
||
|
version varchar(50),
|
||
|
description varchar(200) not null,
|
||
|
type varchar(20) not null,
|
||
|
script varchar(1000) not null,
|
||
|
checksum integer,
|
||
|
installed_by varchar(100) not null,
|
||
|
installed_on timestamp default now() not null,
|
||
|
execution_time integer not null,
|
||
|
success boolean not null
|
||
|
);
|
||
|
|
||
|
alter table dw.flyway_schema_history
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists flyway_schema_history_s_idx
|
||
|
on dw.flyway_schema_history (success);
|
||
|
|
||
|
create table if not exists dw.adjustment
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
domain_revision bigint not null,
|
||
|
adjustment_id varchar not null,
|
||
|
payment_id varchar not null,
|
||
|
invoice_id varchar not null,
|
||
|
party_id varchar not null,
|
||
|
shop_id varchar not null,
|
||
|
created_at timestamp not null,
|
||
|
status dw.adjustment_status not null,
|
||
|
status_captured_at timestamp,
|
||
|
status_cancelled_at timestamp,
|
||
|
reason varchar not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
party_revision bigint,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
payment_status dw.payment_status,
|
||
|
amount bigint not null,
|
||
|
provider_amount_diff bigint default 0,
|
||
|
system_amount_diff bigint default 0,
|
||
|
external_income_amount_diff bigint default 0,
|
||
|
external_outcome_amount_diff bigint default 0,
|
||
|
constraint adjustment_uniq
|
||
|
unique (invoice_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.adjustment
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists adjustment_created_at
|
||
|
on dw.adjustment (created_at);
|
||
|
|
||
|
create index if not exists adjustment_event_created_at
|
||
|
on dw.adjustment (event_created_at);
|
||
|
|
||
|
create index if not exists adjustment_invoice_id
|
||
|
on dw.adjustment (invoice_id);
|
||
|
|
||
|
create index if not exists adjustment_party_id
|
||
|
on dw.adjustment (party_id);
|
||
|
|
||
|
create index if not exists adjustment_status
|
||
|
on dw.adjustment (status);
|
||
|
|
||
|
create table if not exists dw.cash_flow_link
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
invoice_id varchar not null,
|
||
|
payment_id varchar not null,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default false not null,
|
||
|
constraint cash_flow_link_uniq
|
||
|
unique (invoice_id, payment_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.cash_flow_link
|
||
|
owner to postgres;
|
||
|
|
||
|
create table if not exists dw.cash_flow
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
obj_id bigint not null,
|
||
|
obj_type dw.payment_change_type not null,
|
||
|
adj_flow_type dw.adjustment_cash_flow_type,
|
||
|
source_account_type dw.cash_flow_account not null,
|
||
|
source_account_type_value varchar not null,
|
||
|
source_account_id bigint not null,
|
||
|
destination_account_type dw.cash_flow_account not null,
|
||
|
destination_account_type_value varchar not null,
|
||
|
destination_account_id bigint not null,
|
||
|
amount bigint not null,
|
||
|
currency_code varchar not null,
|
||
|
details varchar
|
||
|
);
|
||
|
|
||
|
alter table dw.cash_flow
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists cash_flow_idx
|
||
|
on dw.cash_flow (obj_id, obj_type);
|
||
|
|
||
|
create table if not exists dw.calendar
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
calendar_ref_id integer not null,
|
||
|
name varchar not null,
|
||
|
description varchar,
|
||
|
timezone varchar not null,
|
||
|
holidays_json varchar not null,
|
||
|
first_day_of_week integer,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null
|
||
|
);
|
||
|
|
||
|
alter table dw.calendar
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists calendar_idx
|
||
|
on dw.calendar (calendar_ref_id);
|
||
|
|
||
|
create index if not exists calendar_version_id
|
||
|
on dw.calendar (version_id);
|
||
|
|
||
|
create table if not exists dw.category
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
category_ref_id integer not null,
|
||
|
name varchar not null,
|
||
|
description varchar not null,
|
||
|
type varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null
|
||
|
);
|
||
|
|
||
|
alter table dw.category
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists category_idx
|
||
|
on dw.category (category_ref_id);
|
||
|
|
||
|
create index if not exists category_version_id
|
||
|
on dw.category (version_id);
|
||
|
|
||
|
create table if not exists dw.challenge
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
event_occured_at timestamp not null,
|
||
|
sequence_id integer not null,
|
||
|
identity_id varchar not null,
|
||
|
challenge_id varchar not null,
|
||
|
challenge_class_id varchar not null,
|
||
|
challenge_status dw.challenge_status not null,
|
||
|
challenge_resolution dw.challenge_resolution,
|
||
|
challenge_valid_until timestamp,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
proofs_json varchar,
|
||
|
constraint challenge_uniq
|
||
|
unique (challenge_id, identity_id, sequence_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.challenge
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists challenge_event_created_at_idx
|
||
|
on dw.challenge (event_created_at);
|
||
|
|
||
|
create index if not exists challenge_event_occured_at_idx
|
||
|
on dw.challenge (event_occured_at);
|
||
|
|
||
|
create index if not exists challenge_id_idx
|
||
|
on dw.challenge (challenge_id);
|
||
|
|
||
|
create table if not exists dw.chargeback
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
sequence_id bigint not null,
|
||
|
change_id integer not null,
|
||
|
domain_revision bigint not null,
|
||
|
party_revision bigint,
|
||
|
chargeback_id varchar not null,
|
||
|
payment_id varchar not null,
|
||
|
invoice_id varchar not null,
|
||
|
shop_id varchar not null,
|
||
|
party_id varchar not null,
|
||
|
external_id varchar,
|
||
|
event_created_at timestamp not null,
|
||
|
created_at timestamp not null,
|
||
|
status dw.chargeback_status not null,
|
||
|
levy_amount bigint,
|
||
|
levy_currency_code varchar,
|
||
|
amount bigint,
|
||
|
currency_code varchar,
|
||
|
reason_code varchar,
|
||
|
reason_category dw.chargeback_category not null,
|
||
|
stage dw.chargeback_stage not null,
|
||
|
current boolean default true not null,
|
||
|
context bytea,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
constraint chargeback_uniq
|
||
|
unique (invoice_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.chargeback
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists chargeback_created_at
|
||
|
on dw.chargeback (created_at);
|
||
|
|
||
|
create index if not exists chargeback_event_created_at
|
||
|
on dw.chargeback (event_created_at);
|
||
|
|
||
|
create index if not exists chargeback_invoice_id
|
||
|
on dw.chargeback (invoice_id);
|
||
|
|
||
|
create index if not exists chargeback_party_id
|
||
|
on dw.chargeback (party_id);
|
||
|
|
||
|
create index if not exists chargeback_status
|
||
|
on dw.chargeback (status);
|
||
|
|
||
|
create table if not exists dw.contract
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
contract_id varchar not null,
|
||
|
party_id varchar not null,
|
||
|
payment_institution_id integer,
|
||
|
created_at timestamp not null,
|
||
|
valid_since timestamp,
|
||
|
valid_until timestamp,
|
||
|
status dw.contract_status not null,
|
||
|
status_terminated_at timestamp,
|
||
|
terms_id integer not null,
|
||
|
legal_agreement_signed_at timestamp,
|
||
|
legal_agreement_id varchar,
|
||
|
legal_agreement_valid_until timestamp,
|
||
|
report_act_schedule_id integer,
|
||
|
report_act_signer_position varchar,
|
||
|
report_act_signer_full_name varchar,
|
||
|
report_act_signer_document dw.representative_document,
|
||
|
report_act_signer_doc_power_of_attorney_signed_at timestamp,
|
||
|
report_act_signer_doc_power_of_attorney_legal_agreement_id varchar,
|
||
|
report_act_signer_doc_power_of_attorney_valid_until timestamp,
|
||
|
contractor_id varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
sequence_id integer,
|
||
|
change_id integer,
|
||
|
claim_effect_id integer,
|
||
|
constraint contract_uniq
|
||
|
unique (party_id, contract_id, sequence_id, change_id, claim_effect_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.contract
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists contract_contract_id
|
||
|
on dw.contract (contract_id);
|
||
|
|
||
|
create index if not exists contract_created_at
|
||
|
on dw.contract (created_at);
|
||
|
|
||
|
create index if not exists contract_event_created_at
|
||
|
on dw.contract (event_created_at);
|
||
|
|
||
|
create index if not exists contract_party_id
|
||
|
on dw.contract (party_id);
|
||
|
|
||
|
create table if not exists dw.contract_adjustment
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
cntrct_id bigint not null,
|
||
|
contract_adjustment_id varchar not null,
|
||
|
created_at timestamp not null,
|
||
|
valid_since timestamp,
|
||
|
valid_until timestamp,
|
||
|
terms_id integer not null
|
||
|
);
|
||
|
|
||
|
alter table dw.contract_adjustment
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists contract_adjustment_idx
|
||
|
on dw.contract_adjustment (cntrct_id);
|
||
|
|
||
|
create table if not exists dw.contract_revision
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
obj_id bigint not null,
|
||
|
revision bigint not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null
|
||
|
);
|
||
|
|
||
|
alter table dw.contract_revision
|
||
|
owner to postgres;
|
||
|
|
||
|
create unique index if not exists contract_revision_idx
|
||
|
on dw.contract_revision (obj_id, revision);
|
||
|
|
||
|
create table if not exists dw.contractor
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
party_id varchar not null,
|
||
|
contractor_id varchar not null,
|
||
|
type dw.contractor_type not null,
|
||
|
identificational_level varchar,
|
||
|
registered_user_email varchar,
|
||
|
legal_entity dw.legal_entity,
|
||
|
russian_legal_entity_registered_name varchar,
|
||
|
russian_legal_entity_registered_number varchar,
|
||
|
russian_legal_entity_inn varchar,
|
||
|
russian_legal_entity_actual_address varchar,
|
||
|
russian_legal_entity_post_address varchar,
|
||
|
russian_legal_entity_representative_position varchar,
|
||
|
russian_legal_entity_representative_full_name varchar,
|
||
|
russian_legal_entity_representative_document varchar,
|
||
|
russian_legal_entity_russian_bank_account varchar,
|
||
|
russian_legal_entity_russian_bank_name varchar,
|
||
|
russian_legal_entity_russian_bank_post_account varchar,
|
||
|
russian_legal_entity_russian_bank_bik varchar,
|
||
|
international_legal_entity_legal_name varchar,
|
||
|
international_legal_entity_trading_name varchar,
|
||
|
international_legal_entity_registered_address varchar,
|
||
|
international_legal_entity_actual_address varchar,
|
||
|
international_legal_entity_registered_number varchar,
|
||
|
private_entity dw.private_entity,
|
||
|
russian_private_entity_first_name varchar,
|
||
|
russian_private_entity_second_name varchar,
|
||
|
russian_private_entity_middle_name varchar,
|
||
|
russian_private_entity_phone_number varchar,
|
||
|
russian_private_entity_email varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
sequence_id integer,
|
||
|
change_id integer,
|
||
|
claim_effect_id integer,
|
||
|
international_legal_entity_country_code varchar,
|
||
|
constraint contractor_uniq
|
||
|
unique (party_id, contractor_id, sequence_id, change_id, claim_effect_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.contractor
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists contractor_contractor_id
|
||
|
on dw.contractor (contractor_id);
|
||
|
|
||
|
create index if not exists contractor_event_created_at
|
||
|
on dw.contractor (event_created_at);
|
||
|
|
||
|
create index if not exists contractor_party_id
|
||
|
on dw.contractor (party_id);
|
||
|
|
||
|
create table if not exists dw.contractor_revision
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
obj_id bigint not null,
|
||
|
revision bigint not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null
|
||
|
);
|
||
|
|
||
|
alter table dw.contractor_revision
|
||
|
owner to postgres;
|
||
|
|
||
|
create unique index if not exists contractor_revision_idx
|
||
|
on dw.contractor_revision (obj_id, revision);
|
||
|
|
||
|
create table if not exists dw.country
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
country_ref_id varchar not null,
|
||
|
name varchar not null,
|
||
|
trade_bloc text[] not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null
|
||
|
);
|
||
|
|
||
|
alter table dw.country
|
||
|
owner to postgres;
|
||
|
|
||
|
create table if not exists dw.currency
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
currency_ref_id varchar not null,
|
||
|
name varchar not null,
|
||
|
symbolic_code varchar not null,
|
||
|
numeric_code smallint not null,
|
||
|
exponent smallint not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null
|
||
|
);
|
||
|
|
||
|
alter table dw.currency
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists currency_idx
|
||
|
on dw.currency (currency_ref_id);
|
||
|
|
||
|
create index if not exists currency_version_id
|
||
|
on dw.currency (version_id);
|
||
|
|
||
|
create table if not exists dw.deposit
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
event_occured_at timestamp not null,
|
||
|
sequence_id integer not null,
|
||
|
source_id varchar not null,
|
||
|
wallet_id varchar not null,
|
||
|
deposit_id varchar not null,
|
||
|
amount bigint not null,
|
||
|
fee bigint,
|
||
|
provider_fee bigint,
|
||
|
currency_code varchar not null,
|
||
|
deposit_status dw.deposit_status not null,
|
||
|
deposit_transfer_status dw.deposit_transfer_status,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
external_id varchar,
|
||
|
constraint deposit_uniq
|
||
|
unique (deposit_id, sequence_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.deposit
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists deposit_event_created_at_idx
|
||
|
on dw.deposit (event_created_at);
|
||
|
|
||
|
create index if not exists deposit_event_occured_at_idx
|
||
|
on dw.deposit (event_occured_at);
|
||
|
|
||
|
create index if not exists deposit_id_idx
|
||
|
on dw.deposit (deposit_id);
|
||
|
|
||
|
create table if not exists dw.deposit_adjustment
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
event_occured_at timestamp not null,
|
||
|
sequence_id integer not null,
|
||
|
source_id varchar not null,
|
||
|
wallet_id varchar not null,
|
||
|
deposit_id varchar not null,
|
||
|
adjustment_id varchar not null,
|
||
|
amount bigint,
|
||
|
fee bigint,
|
||
|
provider_fee bigint,
|
||
|
currency_code varchar,
|
||
|
status dw.deposit_adjustment_status not null,
|
||
|
transfer_status dw.deposit_transfer_status,
|
||
|
deposit_status dw.deposit_status,
|
||
|
external_id varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
party_revision bigint default 0 not null,
|
||
|
domain_revision bigint default 0 not null,
|
||
|
constraint deposit_adjustment_uniq
|
||
|
unique (deposit_id, adjustment_id, sequence_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.deposit_adjustment
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists deposit_adjustment_event_created_at_idx
|
||
|
on dw.deposit_adjustment (event_created_at);
|
||
|
|
||
|
create index if not exists deposit_adjustment_id_idx
|
||
|
on dw.deposit_adjustment (deposit_id);
|
||
|
|
||
|
create table if not exists dw.deposit_revert
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
event_occured_at timestamp not null,
|
||
|
sequence_id integer not null,
|
||
|
source_id varchar not null,
|
||
|
wallet_id varchar not null,
|
||
|
deposit_id varchar not null,
|
||
|
revert_id varchar not null,
|
||
|
amount bigint not null,
|
||
|
fee bigint,
|
||
|
provider_fee bigint,
|
||
|
currency_code varchar not null,
|
||
|
status dw.deposit_revert_status not null,
|
||
|
transfer_status dw.deposit_transfer_status,
|
||
|
reason varchar,
|
||
|
external_id varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
party_revision bigint default 0 not null,
|
||
|
domain_revision bigint default 0 not null,
|
||
|
constraint deposit_revert_uniq
|
||
|
unique (deposit_id, revert_id, sequence_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.deposit_revert
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists deposit_revert_event_created_at_idx
|
||
|
on dw.deposit_revert (event_created_at);
|
||
|
|
||
|
create index if not exists deposit_revert_id_idx
|
||
|
on dw.deposit_revert (deposit_id);
|
||
|
|
||
|
create table if not exists dw.destination
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
event_occured_at timestamp not null,
|
||
|
sequence_id integer not null,
|
||
|
destination_id varchar not null,
|
||
|
destination_name varchar not null,
|
||
|
destination_status dw.destination_status not null,
|
||
|
resource_bank_card_token varchar,
|
||
|
resource_bank_card_payment_system varchar,
|
||
|
resource_bank_card_bin varchar,
|
||
|
resource_bank_card_masked_pan varchar,
|
||
|
account_id varchar,
|
||
|
identity_id varchar,
|
||
|
party_id varchar,
|
||
|
accounter_account_id bigint,
|
||
|
currency_code varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
external_id varchar,
|
||
|
created_at timestamp,
|
||
|
context_json varchar,
|
||
|
resource_crypto_wallet_id varchar,
|
||
|
resource_crypto_wallet_type varchar,
|
||
|
resource_type dw.destination_resource_type not null,
|
||
|
resource_crypto_wallet_data varchar,
|
||
|
resource_bank_card_type varchar,
|
||
|
resource_bank_card_issuer_country varchar,
|
||
|
resource_bank_card_bank_name varchar,
|
||
|
resource_digital_wallet_id varchar,
|
||
|
resource_digital_wallet_data varchar,
|
||
|
constraint destination_uniq
|
||
|
unique (destination_id, sequence_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.destination
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists destination_event_created_at_idx
|
||
|
on dw.destination (event_created_at);
|
||
|
|
||
|
create index if not exists destination_event_occured_at_idx
|
||
|
on dw.destination (event_occured_at);
|
||
|
|
||
|
create index if not exists destination_id_idx
|
||
|
on dw.destination (destination_id);
|
||
|
|
||
|
create table if not exists dw.fistful_cash_flow
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
obj_id bigint not null,
|
||
|
source_account_type dw.cash_flow_account not null,
|
||
|
source_account_type_value varchar not null,
|
||
|
source_account_id varchar not null,
|
||
|
destination_account_type dw.cash_flow_account not null,
|
||
|
destination_account_type_value varchar not null,
|
||
|
destination_account_id varchar not null,
|
||
|
amount bigint not null,
|
||
|
currency_code varchar not null,
|
||
|
details varchar,
|
||
|
obj_type dw.fistful_cash_flow_change_type not null
|
||
|
);
|
||
|
|
||
|
alter table dw.fistful_cash_flow
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists fistful_cash_flow_obj_id_idx
|
||
|
on dw.fistful_cash_flow (obj_id);
|
||
|
|
||
|
create table if not exists dw.identity
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
event_occured_at timestamp not null,
|
||
|
sequence_id integer not null,
|
||
|
party_id varchar not null,
|
||
|
party_contract_id varchar,
|
||
|
identity_id varchar not null,
|
||
|
identity_provider_id varchar not null,
|
||
|
identity_effective_chalenge_id varchar,
|
||
|
identity_level_id varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
external_id varchar,
|
||
|
blocked boolean,
|
||
|
context_json varchar,
|
||
|
constraint identity_uniq
|
||
|
unique (identity_id, sequence_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.identity
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists identity_event_created_at_idx
|
||
|
on dw.identity (event_created_at);
|
||
|
|
||
|
create index if not exists identity_event_occured_at_idx
|
||
|
on dw.identity (event_occured_at);
|
||
|
|
||
|
create index if not exists identity_id_idx
|
||
|
on dw.identity (identity_id);
|
||
|
|
||
|
create index if not exists identity_party_id_idx
|
||
|
on dw.identity (party_id);
|
||
|
|
||
|
create table if not exists dw.inspector
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
inspector_ref_id integer not null,
|
||
|
name varchar not null,
|
||
|
description varchar not null,
|
||
|
proxy_ref_id integer not null,
|
||
|
proxy_additional_json varchar not null,
|
||
|
fallback_risk_score varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null
|
||
|
);
|
||
|
|
||
|
alter table dw.inspector
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists inspector_idx
|
||
|
on dw.inspector (inspector_ref_id);
|
||
|
|
||
|
create index if not exists inspector_version_id
|
||
|
on dw.inspector (version_id);
|
||
|
|
||
|
create table if not exists dw.invoice
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
invoice_id varchar not null,
|
||
|
party_id varchar not null,
|
||
|
shop_id varchar not null,
|
||
|
party_revision bigint,
|
||
|
created_at timestamp not null,
|
||
|
details_product varchar not null,
|
||
|
details_description varchar,
|
||
|
due timestamp not null,
|
||
|
amount bigint not null,
|
||
|
currency_code varchar not null,
|
||
|
context bytea,
|
||
|
template_id varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
external_id varchar,
|
||
|
constraint invoice_uniq
|
||
|
unique (invoice_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.invoice
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists invoice_created_at
|
||
|
on dw.invoice (created_at);
|
||
|
|
||
|
create index if not exists invoice_event_created_at
|
||
|
on dw.invoice (event_created_at);
|
||
|
|
||
|
create index if not exists invoice_external_id_idx
|
||
|
on dw.invoice (external_id)
|
||
|
where (external_id IS NOT NULL);
|
||
|
|
||
|
create index if not exists invoice_invoice_id
|
||
|
on dw.invoice (invoice_id);
|
||
|
|
||
|
create index if not exists invoice_party_id
|
||
|
on dw.invoice (party_id);
|
||
|
|
||
|
create table if not exists dw.invoice_status_info
|
||
|
(
|
||
|
id bigserial
|
||
|
constraint invoice_status_pkey
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
invoice_id varchar not null,
|
||
|
status dw.invoice_status not null,
|
||
|
details varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default false not null,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
external_id varchar,
|
||
|
constraint invoice_status_uniq
|
||
|
unique (invoice_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.invoice_status_info
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists invoice_status
|
||
|
on dw.invoice_status_info (status);
|
||
|
|
||
|
create table if not exists dw.invoice_cart
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
invoice_id varchar not null,
|
||
|
product varchar,
|
||
|
quantity integer not null,
|
||
|
amount bigint not null,
|
||
|
currency_code varchar not null,
|
||
|
metadata_json varchar not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
sequence_id bigint,
|
||
|
change_id integer
|
||
|
);
|
||
|
|
||
|
alter table dw.invoice_cart
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists invoice_cart_invoice_id
|
||
|
on dw.invoice_cart (invoice_id);
|
||
|
|
||
|
create table if not exists dw.party
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
party_id varchar not null,
|
||
|
contact_info_email varchar not null,
|
||
|
created_at timestamp not null,
|
||
|
blocking dw.blocking not null,
|
||
|
blocking_unblocked_reason varchar,
|
||
|
blocking_unblocked_since timestamp,
|
||
|
blocking_blocked_reason varchar,
|
||
|
blocking_blocked_since timestamp,
|
||
|
suspension dw.suspension not null,
|
||
|
suspension_active_since timestamp,
|
||
|
suspension_suspended_since timestamp,
|
||
|
revision bigint not null,
|
||
|
revision_changed_at timestamp,
|
||
|
party_meta_set_ns varchar,
|
||
|
party_meta_set_data_json varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
sequence_id integer,
|
||
|
change_id integer,
|
||
|
constraint party_uniq
|
||
|
unique (party_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.party
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists party_contact_info_email
|
||
|
on dw.party (contact_info_email);
|
||
|
|
||
|
create index if not exists party_created_at
|
||
|
on dw.party (created_at);
|
||
|
|
||
|
create index if not exists party_current
|
||
|
on dw.party (current);
|
||
|
|
||
|
create index if not exists party_event_created_at
|
||
|
on dw.party (event_created_at);
|
||
|
|
||
|
create index if not exists party_party_id
|
||
|
on dw.party (party_id);
|
||
|
|
||
|
create table if not exists dw.payment
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
invoice_id varchar not null,
|
||
|
payment_id varchar not null,
|
||
|
created_at timestamp not null,
|
||
|
party_id varchar not null,
|
||
|
shop_id varchar not null,
|
||
|
domain_revision bigint not null,
|
||
|
party_revision bigint,
|
||
|
amount bigint not null,
|
||
|
currency_code varchar not null,
|
||
|
make_recurrent boolean,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
external_id varchar,
|
||
|
payment_flow_type dw.payment_flow_type not null,
|
||
|
payment_flow_on_hold_expiration varchar,
|
||
|
payment_flow_held_until timestamp,
|
||
|
constraint payment_uniq
|
||
|
unique (invoice_id, payment_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.payment
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists payment_created_at
|
||
|
on dw.payment (created_at);
|
||
|
|
||
|
create index if not exists payment_event_created_at
|
||
|
on dw.payment (event_created_at);
|
||
|
|
||
|
create index if not exists payment_external_id_idx
|
||
|
on dw.payment (external_id)
|
||
|
where (external_id IS NOT NULL);
|
||
|
|
||
|
create index if not exists payment_invoice_id
|
||
|
on dw.payment (invoice_id);
|
||
|
|
||
|
create index if not exists payment_party_id
|
||
|
on dw.payment (party_id);
|
||
|
|
||
|
create table if not exists dw.payment_fee
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
invoice_id varchar not null,
|
||
|
payment_id varchar not null,
|
||
|
fee bigint,
|
||
|
provider_fee bigint,
|
||
|
external_fee bigint,
|
||
|
guarantee_deposit bigint,
|
||
|
current boolean default false not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
constraint payment_fee_uniq
|
||
|
unique (invoice_id, payment_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.payment_fee
|
||
|
owner to postgres;
|
||
|
|
||
|
create table if not exists dw.payment_route
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
invoice_id varchar not null,
|
||
|
payment_id varchar not null,
|
||
|
route_provider_id integer,
|
||
|
route_terminal_id integer,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default false not null,
|
||
|
constraint payment_route_uniq
|
||
|
unique (invoice_id, payment_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.payment_route
|
||
|
owner to postgres;
|
||
|
|
||
|
create table if not exists dw.payment_status_info
|
||
|
(
|
||
|
id bigserial
|
||
|
constraint payment_status_pkey
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
invoice_id varchar not null,
|
||
|
payment_id varchar not null,
|
||
|
status dw.payment_status not null,
|
||
|
reason varchar,
|
||
|
amount bigint,
|
||
|
currency_code varchar,
|
||
|
cart_json varchar,
|
||
|
current boolean default false not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
constraint payment_status_uniq
|
||
|
unique (invoice_id, payment_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.payment_status_info
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists payment_status_info_idx
|
||
|
on dw.payment_status_info (status, event_created_at);
|
||
|
|
||
|
create table if not exists dw.payment_payer_info
|
||
|
(
|
||
|
id bigserial
|
||
|
constraint payment_payment_payer_info_pkey
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
invoice_id varchar,
|
||
|
payment_id varchar,
|
||
|
payer_type dw.payer_type not null,
|
||
|
payment_tool_type dw.payment_tool_type not null,
|
||
|
bank_card_token varchar,
|
||
|
bank_card_payment_system varchar,
|
||
|
bank_card_bin varchar,
|
||
|
bank_card_masked_pan varchar,
|
||
|
bank_card_token_provider varchar,
|
||
|
payment_terminal_type varchar,
|
||
|
digital_wallet_provider varchar,
|
||
|
digital_wallet_id varchar,
|
||
|
payment_session_id varchar,
|
||
|
ip_address varchar,
|
||
|
fingerprint varchar,
|
||
|
phone_number varchar,
|
||
|
email varchar,
|
||
|
customer_id varchar,
|
||
|
customer_binding_id varchar,
|
||
|
customer_rec_payment_tool_id varchar,
|
||
|
recurrent_parent_invoice_id varchar,
|
||
|
recurrent_parent_payment_id varchar,
|
||
|
crypto_currency_type varchar,
|
||
|
mobile_phone_cc varchar,
|
||
|
mobile_phone_ctn varchar,
|
||
|
issuer_country varchar,
|
||
|
bank_name varchar,
|
||
|
bank_card_cardholder_name varchar,
|
||
|
mobile_operator varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
constraint payment_payment_payer_info_uniq
|
||
|
unique (invoice_id, payment_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.payment_payer_info
|
||
|
owner to postgres;
|
||
|
|
||
|
create table if not exists dw.payment_additional_info
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
invoice_id varchar not null,
|
||
|
payment_id varchar not null,
|
||
|
transaction_id varchar,
|
||
|
extra_json varchar,
|
||
|
rrn varchar,
|
||
|
approval_code varchar,
|
||
|
acs_url varchar,
|
||
|
md varchar,
|
||
|
term_url varchar,
|
||
|
eci varchar,
|
||
|
cavv varchar,
|
||
|
xid varchar,
|
||
|
cavv_algorithm varchar,
|
||
|
three_ds_verification varchar,
|
||
|
current boolean default false not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
constraint payment_additional_info_uniq
|
||
|
unique (invoice_id, payment_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.payment_additional_info
|
||
|
owner to postgres;
|
||
|
|
||
|
create table if not exists dw.payment_recurrent_info
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
invoice_id varchar not null,
|
||
|
payment_id varchar not null,
|
||
|
token varchar,
|
||
|
current boolean default false not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
constraint payment_recurrent_info_uniq
|
||
|
unique (invoice_id, payment_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.payment_recurrent_info
|
||
|
owner to postgres;
|
||
|
|
||
|
create table if not exists dw.payment_risk_data
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
invoice_id varchar not null,
|
||
|
payment_id varchar not null,
|
||
|
risk_score dw.risk_score not null,
|
||
|
current boolean default false not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
constraint payment_risk_data_uniq
|
||
|
unique (invoice_id, payment_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.payment_risk_data
|
||
|
owner to postgres;
|
||
|
|
||
|
create table if not exists dw.payment_institution
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
payment_institution_ref_id integer not null,
|
||
|
name varchar not null,
|
||
|
description varchar,
|
||
|
calendar_ref_id integer,
|
||
|
system_account_set_json varchar not null,
|
||
|
default_contract_template_json varchar not null,
|
||
|
default_wallet_contract_template_json varchar,
|
||
|
providers_json varchar,
|
||
|
inspector_json varchar not null,
|
||
|
realm varchar not null,
|
||
|
residences_json varchar not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null
|
||
|
);
|
||
|
|
||
|
alter table dw.payment_institution
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists payment_institution_idx
|
||
|
on dw.payment_institution (payment_institution_ref_id);
|
||
|
|
||
|
create index if not exists payment_institution_version_id
|
||
|
on dw.payment_institution (version_id);
|
||
|
|
||
|
create table if not exists dw.payment_method
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
payment_method_ref_id varchar not null,
|
||
|
name varchar not null,
|
||
|
description varchar not null,
|
||
|
type dw.payment_method_type not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null
|
||
|
);
|
||
|
|
||
|
alter table dw.payment_method
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists payment_method_idx
|
||
|
on dw.payment_method (payment_method_ref_id);
|
||
|
|
||
|
create index if not exists payment_method_version_id
|
||
|
on dw.payment_method (version_id);
|
||
|
|
||
|
create table if not exists dw.payment_routing_rule
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
rule_ref_id integer not null,
|
||
|
name varchar not null,
|
||
|
description varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
routing_decisions_json varchar not null,
|
||
|
version_id bigint not null
|
||
|
);
|
||
|
|
||
|
alter table dw.payment_routing_rule
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists payment_routing_rule_ref_id
|
||
|
on dw.payment_routing_rule (rule_ref_id);
|
||
|
|
||
|
create table if not exists dw.payout
|
||
|
(
|
||
|
id bigserial
|
||
|
constraint payout_id_pkey
|
||
|
primary key,
|
||
|
payout_id varchar not null,
|
||
|
event_created_at timestamp not null,
|
||
|
sequence_id integer not null,
|
||
|
created_at timestamp not null,
|
||
|
party_id varchar not null,
|
||
|
shop_id varchar not null,
|
||
|
status dw.payout_status not null,
|
||
|
payout_tool_id varchar not null,
|
||
|
amount bigint not null,
|
||
|
fee bigint default 0 not null,
|
||
|
currency_code varchar not null,
|
||
|
cancelled_details varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
constraint payout_payout_id_ukey
|
||
|
unique (payout_id, sequence_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.payout
|
||
|
owner to postgres;
|
||
|
|
||
|
create table if not exists dw.payout_method
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
payout_method_ref_id varchar not null,
|
||
|
name varchar not null,
|
||
|
description varchar not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null
|
||
|
);
|
||
|
|
||
|
alter table dw.payout_method
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists payout_method_idx
|
||
|
on dw.payout_method (payout_method_ref_id);
|
||
|
|
||
|
create index if not exists payout_method_version_id
|
||
|
on dw.payout_method (version_id);
|
||
|
|
||
|
create table if not exists dw.payout_tool
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
cntrct_id bigint not null,
|
||
|
payout_tool_id varchar not null,
|
||
|
created_at timestamp not null,
|
||
|
currency_code varchar not null,
|
||
|
payout_tool_info dw.payout_tool_info not null,
|
||
|
payout_tool_info_russian_bank_account varchar,
|
||
|
payout_tool_info_russian_bank_name varchar,
|
||
|
payout_tool_info_russian_bank_post_account varchar,
|
||
|
payout_tool_info_russian_bank_bik varchar,
|
||
|
payout_tool_info_international_bank_account_holder varchar,
|
||
|
payout_tool_info_international_bank_name varchar,
|
||
|
payout_tool_info_international_bank_address varchar,
|
||
|
payout_tool_info_international_bank_iban varchar,
|
||
|
payout_tool_info_international_bank_bic varchar,
|
||
|
payout_tool_info_international_bank_local_code varchar,
|
||
|
payout_tool_info_international_bank_number varchar,
|
||
|
payout_tool_info_international_bank_aba_rtn varchar,
|
||
|
payout_tool_info_international_bank_country_code varchar,
|
||
|
payout_tool_info_international_correspondent_bank_account varchar,
|
||
|
payout_tool_info_international_correspondent_bank_name varchar,
|
||
|
payout_tool_info_international_correspondent_bank_address varchar,
|
||
|
payout_tool_info_international_correspondent_bank_bic varchar,
|
||
|
payout_tool_info_international_correspondent_bank_iban varchar,
|
||
|
payout_tool_info_international_correspondent_bank_number varchar,
|
||
|
payout_tool_info_international_correspondent_bank_aba_rtn varchar,
|
||
|
payout_tool_info_international_correspondent_bank_country_code varchar,
|
||
|
payout_tool_info_wallet_info_wallet_id varchar
|
||
|
);
|
||
|
|
||
|
alter table dw.payout_tool
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists payout_tool_idx
|
||
|
on dw.payout_tool (cntrct_id);
|
||
|
|
||
|
create table if not exists dw.provider
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
provider_ref_id integer not null,
|
||
|
name varchar not null,
|
||
|
description varchar not null,
|
||
|
proxy_ref_id integer not null,
|
||
|
terminal_json varchar,
|
||
|
abs_account varchar,
|
||
|
payment_terms_json varchar,
|
||
|
recurrent_paytool_terms_json varchar,
|
||
|
accounts_json varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
identity varchar,
|
||
|
wallet_terms_json varchar,
|
||
|
params_schema_json varchar
|
||
|
);
|
||
|
|
||
|
alter table dw.provider
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists provider_idx
|
||
|
on dw.provider (provider_ref_id);
|
||
|
|
||
|
create index if not exists provider_version_id
|
||
|
on dw.provider (version_id);
|
||
|
|
||
|
create table if not exists dw.proxy
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
proxy_ref_id integer not null,
|
||
|
name varchar not null,
|
||
|
description varchar not null,
|
||
|
url varchar not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null
|
||
|
);
|
||
|
|
||
|
alter table dw.proxy
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists proxy_idx
|
||
|
on dw.proxy (proxy_ref_id);
|
||
|
|
||
|
create index if not exists proxy_version_id
|
||
|
on dw.proxy (version_id);
|
||
|
|
||
|
create table if not exists dw.rate
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
source_id varchar not null,
|
||
|
lower_bound_inclusive timestamp not null,
|
||
|
upper_bound_exclusive timestamp not null,
|
||
|
source_symbolic_code varchar not null,
|
||
|
source_exponent smallint not null,
|
||
|
destination_symbolic_code varchar not null,
|
||
|
destination_exponent smallint not null,
|
||
|
exchange_rate_rational_p bigint not null,
|
||
|
exchange_rate_rational_q bigint not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
sequence_id bigint
|
||
|
);
|
||
|
|
||
|
alter table dw.rate
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists rate_event_created_at_idx
|
||
|
on dw.rate (event_created_at);
|
||
|
|
||
|
create index if not exists rate_source_id_idx
|
||
|
on dw.rate (source_id);
|
||
|
|
||
|
create unique index if not exists rate_ukey
|
||
|
on dw.rate (source_id, sequence_id, source_symbolic_code, destination_symbolic_code);
|
||
|
|
||
|
create table if not exists dw.recurrent_payment_tool
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
sequence_id integer not null,
|
||
|
change_id integer not null,
|
||
|
event_created_at timestamp not null,
|
||
|
recurrent_payment_tool_id varchar not null,
|
||
|
created_at timestamp not null,
|
||
|
party_id varchar not null,
|
||
|
shop_id varchar not null,
|
||
|
party_revision bigint,
|
||
|
domain_revision bigint not null,
|
||
|
status dw.recurrent_payment_tool_status not null,
|
||
|
status_failed_failure varchar,
|
||
|
payment_tool_type dw.payment_tool_type not null,
|
||
|
bank_card_token varchar,
|
||
|
bank_card_payment_system varchar,
|
||
|
bank_card_bin varchar,
|
||
|
bank_card_masked_pan varchar,
|
||
|
bank_card_token_provider varchar,
|
||
|
bank_card_issuer_country varchar,
|
||
|
bank_card_bank_name varchar,
|
||
|
bank_card_metadata_json varchar,
|
||
|
bank_card_is_cvv_empty boolean,
|
||
|
bank_card_exp_date_month integer,
|
||
|
bank_card_exp_date_year integer,
|
||
|
bank_card_cardholder_name varchar,
|
||
|
payment_terminal_type varchar,
|
||
|
digital_wallet_provider varchar,
|
||
|
digital_wallet_id varchar,
|
||
|
digital_wallet_token varchar,
|
||
|
crypto_currency varchar,
|
||
|
mobile_commerce_operator_legacy dw.mobile_operator_type,
|
||
|
mobile_commerce_phone_cc varchar,
|
||
|
mobile_commerce_phone_ctn varchar,
|
||
|
payment_session_id varchar,
|
||
|
client_info_ip_address varchar,
|
||
|
client_info_fingerprint varchar,
|
||
|
rec_token varchar,
|
||
|
route_provider_id integer,
|
||
|
route_terminal_id integer,
|
||
|
amount bigint,
|
||
|
currency_code varchar,
|
||
|
risk_score varchar,
|
||
|
session_payload_transaction_bound_trx_id varchar,
|
||
|
session_payload_transaction_bound_trx_extra_json varchar,
|
||
|
session_payload_transaction_bound_trx_additional_info_rrn varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
mobile_commerce_operator varchar,
|
||
|
constraint recurrent_payment_tool_uniq
|
||
|
unique (recurrent_payment_tool_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.recurrent_payment_tool
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists recurrent_payment_tool_id_idx
|
||
|
on dw.recurrent_payment_tool (recurrent_payment_tool_id);
|
||
|
|
||
|
create table if not exists dw.refund
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
domain_revision bigint not null,
|
||
|
refund_id varchar not null,
|
||
|
payment_id varchar not null,
|
||
|
invoice_id varchar not null,
|
||
|
party_id varchar not null,
|
||
|
shop_id varchar not null,
|
||
|
created_at timestamp not null,
|
||
|
status dw.refund_status not null,
|
||
|
status_failed_failure varchar,
|
||
|
amount bigint,
|
||
|
currency_code varchar,
|
||
|
reason varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
session_payload_transaction_bound_trx_id varchar,
|
||
|
session_payload_transaction_bound_trx_extra_json varchar,
|
||
|
fee bigint,
|
||
|
provider_fee bigint,
|
||
|
external_fee bigint,
|
||
|
party_revision bigint,
|
||
|
sequence_id bigint,
|
||
|
change_id integer,
|
||
|
external_id varchar,
|
||
|
constraint refund_uniq
|
||
|
unique (invoice_id, sequence_id, change_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.refund
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists refund_created_at
|
||
|
on dw.refund (created_at);
|
||
|
|
||
|
create index if not exists refund_event_created_at
|
||
|
on dw.refund (event_created_at);
|
||
|
|
||
|
create index if not exists refund_external_id_idx
|
||
|
on dw.refund (external_id)
|
||
|
where (external_id IS NOT NULL);
|
||
|
|
||
|
create index if not exists refund_invoice_id
|
||
|
on dw.refund (invoice_id);
|
||
|
|
||
|
create index if not exists refund_party_id
|
||
|
on dw.refund (party_id);
|
||
|
|
||
|
create index if not exists refund_status
|
||
|
on dw.refund (status);
|
||
|
|
||
|
create table if not exists dw.shedlock
|
||
|
(
|
||
|
name varchar(64) not null
|
||
|
primary key,
|
||
|
lock_until timestamp(3),
|
||
|
locked_at timestamp(3),
|
||
|
locked_by varchar(255)
|
||
|
);
|
||
|
|
||
|
alter table dw.shedlock
|
||
|
owner to postgres;
|
||
|
|
||
|
create table if not exists dw.shop
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
party_id varchar not null,
|
||
|
shop_id varchar not null,
|
||
|
created_at timestamp not null,
|
||
|
blocking dw.blocking not null,
|
||
|
blocking_unblocked_reason varchar,
|
||
|
blocking_unblocked_since timestamp,
|
||
|
blocking_blocked_reason varchar,
|
||
|
blocking_blocked_since timestamp,
|
||
|
suspension dw.suspension not null,
|
||
|
suspension_active_since timestamp,
|
||
|
suspension_suspended_since timestamp,
|
||
|
details_name varchar not null,
|
||
|
details_description varchar,
|
||
|
location_url varchar not null,
|
||
|
category_id integer not null,
|
||
|
account_currency_code varchar,
|
||
|
account_settlement bigint,
|
||
|
account_guarantee bigint,
|
||
|
account_payout bigint,
|
||
|
contract_id varchar not null,
|
||
|
payout_tool_id varchar,
|
||
|
payout_schedule_id integer,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
sequence_id integer,
|
||
|
change_id integer,
|
||
|
claim_effect_id integer,
|
||
|
constraint shop_uniq
|
||
|
unique (party_id, shop_id, sequence_id, change_id, claim_effect_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.shop
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists shop_created_at
|
||
|
on dw.shop (created_at);
|
||
|
|
||
|
create index if not exists shop_event_created_at
|
||
|
on dw.shop (event_created_at);
|
||
|
|
||
|
create index if not exists shop_party_id
|
||
|
on dw.shop (party_id);
|
||
|
|
||
|
create index if not exists shop_shop_id
|
||
|
on dw.shop (shop_id);
|
||
|
|
||
|
create table if not exists dw.shop_revision
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
obj_id bigint not null,
|
||
|
revision bigint not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null
|
||
|
);
|
||
|
|
||
|
alter table dw.shop_revision
|
||
|
owner to postgres;
|
||
|
|
||
|
create unique index if not exists shop_revision_idx
|
||
|
on dw.shop_revision (obj_id, revision);
|
||
|
|
||
|
create table if not exists dw.source
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
event_occured_at timestamp not null,
|
||
|
sequence_id integer not null,
|
||
|
source_id varchar not null,
|
||
|
source_name varchar not null,
|
||
|
source_status dw.source_status not null,
|
||
|
resource_internal_details varchar,
|
||
|
account_id varchar,
|
||
|
identity_id varchar,
|
||
|
party_id varchar,
|
||
|
accounter_account_id bigint,
|
||
|
currency_code varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
external_id varchar,
|
||
|
constraint source_uniq
|
||
|
unique (source_id, sequence_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.source
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists source_event_created_at_idx
|
||
|
on dw.source (event_created_at);
|
||
|
|
||
|
create index if not exists source_event_occured_at_idx
|
||
|
on dw.source (event_occured_at);
|
||
|
|
||
|
create index if not exists source_id_idx
|
||
|
on dw.source (source_id);
|
||
|
|
||
|
create table if not exists dw.term_set_hierarchy
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
term_set_hierarchy_ref_id integer not null,
|
||
|
name varchar,
|
||
|
description varchar,
|
||
|
parent_terms_ref_id integer,
|
||
|
term_sets_json varchar not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null
|
||
|
);
|
||
|
|
||
|
alter table dw.term_set_hierarchy
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists term_set_hierarchy_idx
|
||
|
on dw.term_set_hierarchy (term_set_hierarchy_ref_id);
|
||
|
|
||
|
create index if not exists term_set_hierarchy_version_id
|
||
|
on dw.term_set_hierarchy (version_id);
|
||
|
|
||
|
create table if not exists dw.terminal
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
terminal_ref_id integer not null,
|
||
|
name varchar not null,
|
||
|
description varchar not null,
|
||
|
risk_coverage varchar,
|
||
|
terms_json varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
external_terminal_id varchar,
|
||
|
external_merchant_id varchar,
|
||
|
mcc varchar,
|
||
|
terminal_provider_ref_id integer
|
||
|
);
|
||
|
|
||
|
alter table dw.terminal
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists terminal_idx
|
||
|
on dw.terminal (terminal_ref_id);
|
||
|
|
||
|
create index if not exists terminal_version_id
|
||
|
on dw.terminal (version_id);
|
||
|
|
||
|
create table if not exists dw.trade_bloc
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
trade_bloc_ref_id varchar not null,
|
||
|
name varchar not null,
|
||
|
description varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null
|
||
|
);
|
||
|
|
||
|
alter table dw.trade_bloc
|
||
|
owner to postgres;
|
||
|
|
||
|
create table if not exists dw.wallet
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
event_occured_at timestamp not null,
|
||
|
sequence_id integer not null,
|
||
|
wallet_id varchar not null,
|
||
|
wallet_name varchar not null,
|
||
|
identity_id varchar,
|
||
|
party_id varchar,
|
||
|
currency_code varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
account_id varchar,
|
||
|
accounter_account_id bigint,
|
||
|
external_id varchar,
|
||
|
constraint wallet_uniq
|
||
|
unique (wallet_id, sequence_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.wallet
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists wallet_event_created_at_idx
|
||
|
on dw.wallet (event_created_at);
|
||
|
|
||
|
create index if not exists wallet_event_occured_at_idx
|
||
|
on dw.wallet (event_occured_at);
|
||
|
|
||
|
create index if not exists wallet_id_idx
|
||
|
on dw.wallet (wallet_id);
|
||
|
|
||
|
create table if not exists dw.withdrawal
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
event_occured_at timestamp not null,
|
||
|
sequence_id integer not null,
|
||
|
wallet_id varchar not null,
|
||
|
destination_id varchar not null,
|
||
|
withdrawal_id varchar not null,
|
||
|
provider_id_legacy varchar,
|
||
|
amount bigint not null,
|
||
|
currency_code varchar not null,
|
||
|
withdrawal_status dw.withdrawal_status not null,
|
||
|
withdrawal_transfer_status dw.withdrawal_transfer_status,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
fee bigint,
|
||
|
provider_fee bigint,
|
||
|
external_id varchar,
|
||
|
context_json varchar,
|
||
|
withdrawal_status_failed_failure_json varchar,
|
||
|
provider_id integer,
|
||
|
terminal_id varchar,
|
||
|
constraint withdrawal_uniq
|
||
|
unique (withdrawal_id, sequence_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.withdrawal
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists withdrawal_event_created_at_idx
|
||
|
on dw.withdrawal (event_created_at);
|
||
|
|
||
|
create index if not exists withdrawal_event_occured_at_idx
|
||
|
on dw.withdrawal (event_occured_at);
|
||
|
|
||
|
create index if not exists withdrawal_id_idx
|
||
|
on dw.withdrawal (withdrawal_id);
|
||
|
|
||
|
create table if not exists dw.withdrawal_provider
|
||
|
(
|
||
|
id bigserial
|
||
|
primary key,
|
||
|
version_id bigint not null,
|
||
|
withdrawal_provider_ref_id integer not null,
|
||
|
name varchar not null,
|
||
|
description varchar,
|
||
|
proxy_ref_id integer not null,
|
||
|
identity varchar,
|
||
|
withdrawal_terms_json varchar,
|
||
|
accounts_json varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null
|
||
|
);
|
||
|
|
||
|
alter table dw.withdrawal_provider
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists withdrawal_provider_idx
|
||
|
on dw.withdrawal_provider (withdrawal_provider_ref_id);
|
||
|
|
||
|
create index if not exists withdrawal_provider_version_id
|
||
|
on dw.withdrawal_provider (version_id);
|
||
|
|
||
|
create table if not exists dw.withdrawal_session
|
||
|
(
|
||
|
id bigserial
|
||
|
constraint withdrawal_session_pk
|
||
|
primary key,
|
||
|
event_created_at timestamp not null,
|
||
|
event_occured_at timestamp not null,
|
||
|
sequence_id integer not null,
|
||
|
withdrawal_session_id varchar not null,
|
||
|
withdrawal_session_status dw.withdrawal_session_status not null,
|
||
|
provider_id_legacy varchar,
|
||
|
withdrawal_id varchar not null,
|
||
|
destination_card_token varchar,
|
||
|
destination_card_payment_system varchar,
|
||
|
destination_card_bin varchar,
|
||
|
destination_card_masked_pan varchar,
|
||
|
amount bigint not null,
|
||
|
currency_code varchar not null,
|
||
|
sender_party_id varchar,
|
||
|
sender_provider_id varchar,
|
||
|
sender_class_id varchar,
|
||
|
sender_contract_id varchar,
|
||
|
receiver_party_id varchar,
|
||
|
receiver_provider_id varchar,
|
||
|
receiver_class_id varchar,
|
||
|
receiver_contract_id varchar,
|
||
|
adapter_state varchar,
|
||
|
tran_info_id varchar,
|
||
|
tran_info_timestamp timestamp,
|
||
|
tran_info_json varchar,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
failure_json varchar,
|
||
|
resource_type dw.destination_resource_type not null,
|
||
|
resource_crypto_wallet_id varchar,
|
||
|
resource_crypto_wallet_type varchar,
|
||
|
resource_crypto_wallet_data varchar,
|
||
|
resource_bank_card_type varchar,
|
||
|
resource_bank_card_issuer_country varchar,
|
||
|
resource_bank_card_bank_name varchar,
|
||
|
tran_additional_info varchar,
|
||
|
tran_additional_info_rrn varchar,
|
||
|
tran_additional_info_json varchar,
|
||
|
provider_id integer,
|
||
|
resource_digital_wallet_id varchar,
|
||
|
resource_digital_wallet_data varchar,
|
||
|
constraint withdrawal_session_uniq
|
||
|
unique (withdrawal_session_id, sequence_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.withdrawal_session
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists withdrawal_session_event_created_at_idx
|
||
|
on dw.withdrawal_session (event_created_at);
|
||
|
|
||
|
create index if not exists withdrawal_session_event_occured_at_idx
|
||
|
on dw.withdrawal_session (event_occured_at);
|
||
|
|
||
|
create index if not exists withdrawal_session_id_idx
|
||
|
on dw.withdrawal_session (withdrawal_session_id);
|
||
|
|
||
|
create table if not exists dw.limit_config
|
||
|
(
|
||
|
id bigserial
|
||
|
constraint limit_config_id_pkey
|
||
|
primary key,
|
||
|
source_id varchar not null,
|
||
|
sequence_id integer not null,
|
||
|
event_occured_at timestamp not null,
|
||
|
event_created_at timestamp not null,
|
||
|
limit_config_id varchar not null,
|
||
|
processor_type varchar not null,
|
||
|
created_at timestamp not null,
|
||
|
started_at timestamp not null,
|
||
|
shard_size bigint not null,
|
||
|
time_range_type dw.limit_config_time_range_type not null,
|
||
|
time_range_type_calendar dw.limit_config_time_range_type_calendar,
|
||
|
time_range_type_interval_amount bigint,
|
||
|
limit_context_type dw.limit_config_limit_context_type not null,
|
||
|
limit_type_turnover_metric dw.limit_config_limit_type_turnover_metric,
|
||
|
limit_type_turnover_metric_amount_currency varchar,
|
||
|
limit_scope dw.limit_config_limit_scope,
|
||
|
limit_scope_types_json text,
|
||
|
description varchar,
|
||
|
operation_limit_behaviour dw.limit_config_operation_limit_behaviour,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null,
|
||
|
current boolean default true not null,
|
||
|
constraint limit_config_limit_config_id_ukey
|
||
|
unique (limit_config_id, sequence_id)
|
||
|
);
|
||
|
|
||
|
alter table dw.limit_config
|
||
|
owner to postgres;
|
||
|
|
||
|
create table if not exists dw.ex_rate
|
||
|
(
|
||
|
id bigserial,
|
||
|
event_id uuid not null
|
||
|
unique,
|
||
|
event_created_at timestamp not null,
|
||
|
source_currency_symbolic_code varchar not null,
|
||
|
source_currency_exponent smallint not null,
|
||
|
destination_currency_symbolic_code varchar not null,
|
||
|
destination_currency_exponent smallint not null,
|
||
|
rational_p bigint not null,
|
||
|
rational_q bigint not null,
|
||
|
rate_timestamp timestamp not null
|
||
|
);
|
||
|
|
||
|
alter table dw.ex_rate
|
||
|
owner to postgres;
|
||
|
|
||
|
create index if not exists rate_timestamp_idx
|
||
|
on dw.ex_rate (rate_timestamp);
|
||
|
|
||
|
create index if not exists source_currency_sc_destination_currency_sc_timestamp_idx
|
||
|
on dw.ex_rate (source_currency_symbolic_code, destination_currency_symbolic_code, rate_timestamp);
|
||
|
|
||
|
create table if not exists dw.dominant_last_version_id
|
||
|
(
|
||
|
version_id bigint not null,
|
||
|
wtime timestamp default timezone('utc'::text, now()) not null
|
||
|
);
|
||
|
|
||
|
alter table dw.dominant_last_version_id
|
||
|
owner to postgres;
|