clearing/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.18.sql
2025-05-28 17:10:08 +03:00

199 lines
15 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 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 VALIDATION_SYMBOLS(ID, CODE, SYMBOLS, COMMENT) values (1, 'RUS', 'а-яА-ЯёЁ', 'Кириллица') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SYMBOLS = EXCLUDED.SYMBOLS, COMMENT = EXCLUDED.COMMENT;
INSERT INTO VALIDATION_SYMBOLS(ID, CODE, SYMBOLS, COMMENT) values (2, 'LAT', 'a-zA-Z', 'Латиница') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SYMBOLS = EXCLUDED.SYMBOLS, COMMENT = EXCLUDED.COMMENT;
INSERT INTO VALIDATION_SYMBOLS(ID, CODE, SYMBOLS, COMMENT) values (3, 'DGT', '0-9', 'Цифры') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SYMBOLS = EXCLUDED.SYMBOLS, COMMENT = EXCLUDED.COMMENT;
INSERT INTO VALIDATION_SYMBOLS(ID, CODE, SYMBOLS, COMMENT) values (4, 'SPC', '-., ;"%', 'Специальные символы') ON CONFLICT (ID) DO UPDATE SET CODE = EXCLUDED.CODE, SYMBOLS = EXCLUDED.SYMBOLS, COMMENT = EXCLUDED.COMMENT;
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.18') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION