clearing/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.18.sql
2025-05-20 12:19:43 +03:00

195 lines
12 KiB
SQL

-- DB version: 3.17 -> 3.18
DROP TABLE IF EXISTS VALIDATION_SYMBOLS;
CREATE TABLE VALIDATION_SYMBOLS
(
ID BIGINT PRIMARY KEY,
CODE VARCHAR(3),
SYMBOLS VARCHAR(255),
COMMENT VARCHAR(255)
);
COMMENT ON TABLE VALIDATION_SYMBOLS IS 'Äîïóñòèìûå ñèìâîëû';
COMMENT ON COLUMN VALIDATION_SYMBOLS.ID IS 'Èäåíòèôèêàòîð çàïèñè';
COMMENT ON COLUMN VALIDATION_SYMBOLS.CODE IS 'Êîä ãðóïïû ñèìâîëîâ';
COMMENT ON COLUMN VALIDATION_SYMBOLS.SYMBOLS IS 'Äîïóñòèìûå ñèìâîëû';
COMMENT ON COLUMN VALIDATION_SYMBOLS.COMMENT IS 'Îïèñàíèå ãðóïïû ñèìâîëîâ';
GRANT ALL PRIVILEGES ON TABLE VALIDATION_SYMBOLS TO clearing;
-- nominalTypeCode - Ñïðàâî÷íèê òèïîâ íîìèíàëà ÓÖÏ
DROP TABLE IF EXISTS NOMINAL_TYPE_CODE_DICTIONARY;
CREATE TABLE NOMINAL_TYPE_CODE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255));
COMMENT ON TABLE NOMINAL_TYPE_CODE_DICTIONARY IS 'Ñïðàâî÷íèê òèïîâ íîìèíàëà ÓÖÏ';
COMMENT ON COLUMN NOMINAL_TYPE_CODE_DICTIONARY.ID IS 'Èäåíòèôèêàòîð çàïèñè';
COMMENT ON COLUMN NOMINAL_TYPE_CODE_DICTIONARY.CODE IS 'Êîä';
COMMENT ON COLUMN NOMINAL_TYPE_CODE_DICTIONARY.NAME IS 'Íàèìåíîâàíèå';
GRANT ALL PRIVILEGES ON TABLE NOMINAL_TYPE_CODE_DICTIONARY TO clearing;
-- unitMeasurement - Ñïðàâî÷íèê åäèíèö èçìåðåíèÿ
DROP TABLE IF EXISTS UNIT_MEASUREMENT_DICTIONARY;
CREATE TABLE UNIT_MEASUREMENT_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(255));
COMMENT ON TABLE UNIT_MEASUREMENT_DICTIONARY IS 'Ñïðàâî÷íèê åäèíèö èçìåðåíèÿ';
COMMENT ON COLUMN UNIT_MEASUREMENT_DICTIONARY.ID IS 'Èäåíòèôèêàòîð çàïèñè';
COMMENT ON COLUMN UNIT_MEASUREMENT_DICTIONARY.CODE IS 'Êîä';
COMMENT ON COLUMN UNIT_MEASUREMENT_DICTIONARY.NAME IS 'Íàèìåíîâàíèå';
GRANT ALL PRIVILEGES ON TABLE UNIT_MEASUREMENT_DICTIONARY TO clearing;
-- digitalCertificateSecurity - Öèôðîâûå ñâèäåòåëüñòâà
DROP TABLE IF EXISTS DIGITAL_CERTIFICATE_SECURITY;
CREATE TABLE DIGITAL_CERTIFICATE_SECURITY(ID bigint PRIMARY KEY, SECURITY_ID bigint, BASE_CODE varchar(50), BASE_UNIT_SIZE bigint, PRICE_VARIANCE_LIMIT numeric(72,18), NOMINAL_TYPE_CODE varchar(4), NOMINAL_VALUE numeric(72,18), NOMINAL_INDEXATION_DATE date, NOMINAL_INDEXATION_SIGN varchar(4), SETTLEMENT_HOUSE varchar(255), DEPOSITORY varchar(255));
COMMENT ON TABLE DIGITAL_CERTIFICATE_SECURITY IS 'Öèôðîâûå ñâèäåòåëüñòâà';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY.ID IS 'Èäåíòèôèêàòîð çàïèñè';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY.SECURITY_ID IS 'Èäåíòèôèêàòîð èíñòðóìåíòà (linked to security)';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY.BASE_CODE IS 'Êîä ÖÑ, ïðèñâîåííûé äåïîçèòàðèåì';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY.BASE_UNIT_SIZE IS 'Êîëè÷åñòâî ÓÖÏ â îäíîì ÖÑ';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY.PRICE_VARIANCE_LIMIT IS 'Ïðåäåëû èçìåíåíèÿ öåíû';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY.NOMINAL_TYPE_CODE IS 'Òèï èíäåêñàöèè íîìèíàëà (linked to nominalTypeCode)';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY.NOMINAL_VALUE IS 'Èíäåêñèðóåìûé íîìèíàë';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY.NOMINAL_INDEXATION_DATE IS 'Äàòà èíäåêñàöèè íîìèíàëà';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY.NOMINAL_INDEXATION_SIGN IS 'Ôàêòè÷åñêàÿ èíäåêñàöèÿ (linked to allowed)';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY.SETTLEMENT_HOUSE IS 'Íàèìåíîâàíèå ðàñ÷åòíîé îðãàíèçàöèè';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY.DEPOSITORY IS 'Íàèìåíîâàíèå äåïîçèòàðèÿ';
GRANT ALL PRIVILEGES ON TABLE DIGITAL_CERTIFICATE_SECURITY TO clearing;
-- History log of digitalCertificateSecurity - Öèôðîâûå ñâèäåòåëüñòâà
DROP TABLE IF EXISTS DIGITAL_CERTIFICATE_SECURITY_HISTORY;
CREATE TABLE DIGITAL_CERTIFICATE_SECURITY_HISTORY(DIGITAL_CERTIFICATE_SECURITY_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, SECURITY_ID bigint, BASE_CODE varchar(50), BASE_UNIT_SIZE bigint, PRICE_VARIANCE_LIMIT numeric(72,18), NOMINAL_TYPE_CODE varchar(4), NOMINAL_VALUE numeric(72,18), NOMINAL_INDEXATION_DATE date, NOMINAL_INDEXATION_SIGN varchar(4), SETTLEMENT_HOUSE varchar(255), DEPOSITORY varchar(255));
COMMENT ON TABLE DIGITAL_CERTIFICATE_SECURITY_HISTORY IS 'Èñòîðèÿ èçìåíåíèé òàáëèöû digitalCertificateSecurity';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.DIGITAL_CERTIFICATE_SECURITY_ID IS 'Èäåíòèôèêàòîð çàïèñè â òàáëèöå DIGITAL_CERTIFICATE_SECURITY';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.EVENT_TIME IS 'Äàòà è âðåìÿ èçìåíåíèÿ';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.EVENT_USER_ID IS 'Èíèöèàòîð èçìåíåíèÿ';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.EVENT_TYPE IS 'Òèï èçìåíåíèÿ';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.ID IS 'Èäåíòèôèêàòîð çàïèñè';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.SECURITY_ID IS 'Èäåíòèôèêàòîð èíñòðóìåíòà (linked to security)';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.BASE_CODE IS 'Êîä ÖÑ, ïðèñâîåííûé äåïîçèòàðèåì';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.BASE_UNIT_SIZE IS 'Êîëè÷åñòâî ÓÖÏ â îäíîì ÖÑ';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.PRICE_VARIANCE_LIMIT IS 'Ïðåäåëû èçìåíåíèÿ öåíû';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.NOMINAL_TYPE_CODE IS 'Òèï èíäåêñàöèè íîìèíàëà (linked to nominalTypeCode)';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.NOMINAL_VALUE IS 'Èíäåêñèðóåìûé íîìèíàë';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.NOMINAL_INDEXATION_DATE IS 'Äàòà èíäåêñàöèè íîìèíàëà';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.NOMINAL_INDEXATION_SIGN IS 'Ôàêòè÷åñêàÿ èíäåêñàöèÿ (linked to allowed)';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.SETTLEMENT_HOUSE IS 'Íàèìåíîâàíèå ðàñ÷åòíîé îðãàíèçàöèè';
COMMENT ON COLUMN DIGITAL_CERTIFICATE_SECURITY_HISTORY.DEPOSITORY IS 'Íàèìåíîâàíèå äåïîçèòàðèÿ';
GRANT ALL PRIVILEGES ON TABLE DIGITAL_CERTIFICATE_SECURITY_HISTORY TO clearing;
-- utilitarianDigitalRight - Óòèëèòàðíûå öèôðîâûå ïðàâà
DROP TABLE IF EXISTS UTILITARIAN_DIGITAL_RIGHT;
CREATE TABLE UTILITARIAN_DIGITAL_RIGHT(ID bigint PRIMARY KEY, SECURITY_ID bigint, INVESTMENT_ATTRACTING_COMPANY varchar(255), INVESTMENT_ATTRACTING_INN varchar(255), ISSUE_AMOUNT numeric(72,2), ISSUE_PRICE numeric(72,18), ISSUE_SIZE bigint, NOMINAL_INDEXATION varchar(255), PLATFORM_OPERATOR varchar(255), PLATFORM_OPERATOR_CODE varchar(255), PLATFORM_OPERATOR_INN varchar(255), PLATFORM_OPERATOR_WEB varchar(255), PLATFORM_PROPOSAL_WEB varchar(255), RIGHT_ESSENCE varchar(255), RIGHT_UNIT varchar(255), RIGHT_UNIT_MEASUREMENT varchar(4));
COMMENT ON TABLE UTILITARIAN_DIGITAL_RIGHT IS 'Óòèëèòàðíûå öèôðîâûå ïðàâà';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.ID IS 'Èäåíòèôèêàòîð çàïèñè';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.SECURITY_ID IS 'Èäåíòèôèêàòîð èíñòðóìåíòà (linked to security)';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.INVESTMENT_ATTRACTING_COMPANY IS 'Íàèìåíîâàíèå ëèöà, îáÿçàííîãî ïî ÓÖÏ (linked to company)';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.INVESTMENT_ATTRACTING_INN IS 'ÈÍÍ ëèöà, îáÿçàííîãî ïî ÓÖÏ';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.ISSUE_AMOUNT IS 'Îáùèé îáúåì âûïóñêà';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.ISSUE_PRICE IS 'Öåíà ÓÖÏ â èíâåñòèöèîííîì ïðåäëîæåíèè';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.ISSUE_SIZE IS 'Îáùåå êîëè÷åñòâî ÓÖÏ â âûïóñêå';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.NOMINAL_INDEXATION IS 'Ïîðÿäîê îïðåäåëåíèÿ íîìèíàëà ÓÖÏ â ñëó÷àå ïðåäóñìîòðåííîé èíäåêñàöèè';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.PLATFORM_OPERATOR IS 'Íàèìåíîâàíèå îïåðàòîðà èíâåñòèöèîííîé ïëàòôîðìû';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.PLATFORM_OPERATOR_CODE IS 'Êîä ÓÖÏ, ïðèñâîåííûé îïåðàòîðîì èíâåñòèöèîííîé ïëàòôîðìû';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.PLATFORM_OPERATOR_INN IS 'ÈÍÍ îïåðàòîðà èíâåñòèöèîííîé ïëàòôîðìû';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.PLATFORM_OPERATOR_WEB IS 'Àäðåñ ñàéòà îïåðàòîðà èíâåñòèöèîííîé ïëàòôîðìû';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.PLATFORM_PROPOSAL_WEB IS 'Ññûëêà íà îïèñàíèå óñëîâèé èíâåñòèöèîííîãî ïðåäëîæåíèÿ';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.RIGHT_ESSENCE IS 'Ñóùåñòâî ïðàâà òðåáîâàíèÿ';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.RIGHT_UNIT IS 'Êîëè÷åñòâî åäèíèö ñóùåñòâà ïðàâà (òðåáîâàíèÿ)';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT.RIGHT_UNIT_MEASUREMENT IS 'Åäèíèöà èçìåðåíèÿ ñóùåñòâà ïðàâà (òðåáîâàíèÿ) (linked to unitMeasurement)';
GRANT ALL PRIVILEGES ON TABLE UTILITARIAN_DIGITAL_RIGHT TO clearing;
-- History log of utilitarianDigitalRight - Óòèëèòàðíûå öèôðîâûå ïðàâà
DROP TABLE IF EXISTS UTILITARIAN_DIGITAL_RIGHT_HISTORY;
CREATE TABLE UTILITARIAN_DIGITAL_RIGHT_HISTORY(UTILITARIAN_DIGITAL_RIGHT_ID BIGINT NOT NULL, EVENT_TIME timestamp, EVENT_USER_ID BIGINT, EVENT_TYPE VARCHAR(4), ID bigint PRIMARY KEY, SECURITY_ID bigint, INVESTMENT_ATTRACTING_COMPANY varchar(255), INVESTMENT_ATTRACTING_INN varchar(255), ISSUE_AMOUNT numeric(72,2), ISSUE_PRICE numeric(72,18), ISSUE_SIZE bigint, NOMINAL_INDEXATION varchar(255), PLATFORM_OPERATOR varchar(255), PLATFORM_OPERATOR_CODE varchar(255), PLATFORM_OPERATOR_INN varchar(255), PLATFORM_OPERATOR_WEB varchar(255), PLATFORM_PROPOSAL_WEB varchar(255), RIGHT_ESSENCE varchar(255), RIGHT_UNIT varchar(255), RIGHT_UNIT_MEASUREMENT varchar(4));
COMMENT ON TABLE UTILITARIAN_DIGITAL_RIGHT_HISTORY IS 'Èñòîðèÿ èçìåíåíèé òàáëèöû utilitarianDigitalRight';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.UTILITARIAN_DIGITAL_RIGHT_ID IS 'Èäåíòèôèêàòîð çàïèñè â òàáëèöå UTILITARIAN_DIGITAL_RIGHT';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.EVENT_TIME IS 'Äàòà è âðåìÿ èçìåíåíèÿ';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.EVENT_USER_ID IS 'Èíèöèàòîð èçìåíåíèÿ';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.EVENT_TYPE IS 'Òèï èçìåíåíèÿ';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.ID IS 'Èäåíòèôèêàòîð çàïèñè';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.SECURITY_ID IS 'Èäåíòèôèêàòîð èíñòðóìåíòà (linked to security)';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.INVESTMENT_ATTRACTING_COMPANY IS 'Íàèìåíîâàíèå ëèöà, îáÿçàííîãî ïî ÓÖÏ (linked to company)';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.INVESTMENT_ATTRACTING_INN IS 'ÈÍÍ ëèöà, îáÿçàííîãî ïî ÓÖÏ';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.ISSUE_AMOUNT IS 'Îáùèé îáúåì âûïóñêà';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.ISSUE_PRICE IS 'Öåíà ÓÖÏ â èíâåñòèöèîííîì ïðåäëîæåíèè';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.ISSUE_SIZE IS 'Îáùåå êîëè÷åñòâî ÓÖÏ â âûïóñêå';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.NOMINAL_INDEXATION IS 'Ïîðÿäîê îïðåäåëåíèÿ íîìèíàëà ÓÖÏ â ñëó÷àå ïðåäóñìîòðåííîé èíäåêñàöèè';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.PLATFORM_OPERATOR IS 'Íàèìåíîâàíèå îïåðàòîðà èíâåñòèöèîííîé ïëàòôîðìû';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.PLATFORM_OPERATOR_CODE IS 'Êîä ÓÖÏ, ïðèñâîåííûé îïåðàòîðîì èíâåñòèöèîííîé ïëàòôîðìû';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.PLATFORM_OPERATOR_INN IS 'ÈÍÍ îïåðàòîðà èíâåñòèöèîííîé ïëàòôîðìû';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.PLATFORM_OPERATOR_WEB IS 'Àäðåñ ñàéòà îïåðàòîðà èíâåñòèöèîííîé ïëàòôîðìû';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.PLATFORM_PROPOSAL_WEB IS 'Ññûëêà íà îïèñàíèå óñëîâèé èíâåñòèöèîííîãî ïðåäëîæåíèÿ';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.RIGHT_ESSENCE IS 'Ñóùåñòâî ïðàâà òðåáîâàíèÿ';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.RIGHT_UNIT IS 'Êîëè÷åñòâî åäèíèö ñóùåñòâà ïðàâà (òðåáîâàíèÿ)';
COMMENT ON COLUMN UTILITARIAN_DIGITAL_RIGHT_HISTORY.RIGHT_UNIT_MEASUREMENT IS 'Åäèíèöà èçìåðåíèÿ ñóùåñòâà ïðàâà (òðåáîâàíèÿ) (linked to unitMeasurement)';
GRANT ALL PRIVILEGES ON TABLE UTILITARIAN_DIGITAL_RIGHT_HISTORY TO clearing;
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.18') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION