Added db init ddl file

This commit is contained in:
Mikhail Trofimov 2025-06-02 16:13:20 +03:00
parent 30eeda7eec
commit 8a9c9a4c89

View file

@ -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);