diff --git a/src/main/resources/credit_tracker_db.ddl b/src/main/resources/credit_tracker_db.ddl new file mode 100644 index 0000000..4f3955a --- /dev/null +++ b/src/main/resources/credit_tracker_db.ddl @@ -0,0 +1,42 @@ +-- Create signals_user_packages +-- Хранит основную информацию о каждом пакете мониторинга, установленном клиентом +CREATE TABLE signals_user_packages ( + id SERIAL PRIMARY KEY, -- внутренний идентификатор в таблице + membercode VARCHAR(255), -- логин клиента + package_name VARCHAR(255), -- имя пакета + created_at TIMESTAMP, -- дата и время первичной регистрации пакета + status VARCHAR(255), -- статус пакета: ON_MONITORING, REJECTED, PROCESSING, DELETED, ERROR + deactivated_at TIMESTAMP, -- дата и время удаления пакета + last_downloaded_report VARCHAR(255) -- имя последнего успешно загруженного отчёта из оф. сервиса по пакету +); + +-- Create signals_phone_fid_map +CREATE TABLE signals_phone_fid_map ( + id SERIAL PRIMARY KEY, -- внутренний идентификатор в таблице + package_id INTEGER NOT NULL, -- идентификатор пакета + subject_id VARCHAR(255), -- идентификатор субъекта из XML + phone VARCHAR(255), -- номер телефона + fid VARCHAR(255), -- найденный FID или NULL + flag_debt5000 SMALLINT, -- 1, если есть активная просрочка > 5000 руб., иначе 0 + flag_90_12 SMALLINT, -- 1, если по субъекту когда-либо была просрочка 90+ дней за последний год, иначе – 0 + calculated_at TIMESTAMP, -- дата последнего расчёта флагов + CONSTRAINT fk_signals_user_packages + FOREIGN KEY (package_id) + REFERENCES signals_user_packages(id) +); + +-- Create signals_hits +CREATE TABLE signals_hits ( + id SERIAL PRIMARY KEY, -- внутренний идентификатор в таблице + package_id INTEGER NOT NULL, -- идентификатор пакета + subject_id VARCHAR(255), -- идентификатор субъекта, по которому сработал сигнал + signal_type INTEGER, -- тип сигнала + response_sent_at TIMESTAMP, -- дата и время формирования отчета с данным сигналом + report_file_name VARCHAR(255), -- имя XML-файла отчёта, в который вошел данный сигнал + CONSTRAINT fk_signals_user_packages + FOREIGN KEY (package_id) + REFERENCES signals_user_packages(id) +); + +-- Create index on response_sent_at +CREATE INDEX idx_signals_hits_response_sent_at ON signals_hits(response_sent_at); \ No newline at end of file