clearing/clearing-parent/db-scripts/src/main/resources/db/updateDDL_3.22.sql
2026-03-03 10:35:46 +03:00

201 lines
No EOL
11 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.21 -> 3.22
DROP TABLE IF EXISTS ORDER_CURRENCY;
CREATE TABLE ORDER_CURRENCY
(
ID BIGINT PRIMARY KEY,
SECURITY_ID BIGINT,
SECURITY_SYMBOL VARCHAR(255),
ACCOUNT VARCHAR(50),
TRADING_CLEARING_REGISTRY_ID BIGINT,
COMPANY_ID BIGINT,
TRADING_CODE VARCHAR(255),
COUNTER_PARTY_ID BIGINT,
COUNTER_TRADING_CODE VARCHAR(255),
TYPE VARCHAR(4),
OVERNIGHT_TYPE VARCHAR(4),
LISTING_ID BIGINT,
MARKET VARCHAR(4),
PRICE NUMERIC(72,18),
RATE NUMERIC(72,18),
QUANTITY_LOT NUMERIC(72,2),
QUANTITY NUMERIC(72,2),
LOT_SIZE NUMERIC(72,2),
SIDE VARCHAR(4),
SETTLE_CODE VARCHAR(4),
SETTLE_DATE DATE,
STATUS VARCHAR(4),
COMMENT VARCHAR(255),
INITIAL_ORDER_ID BIGINT,
CREATED_AT TIMESTAMP,
UPDATED_AT TIMESTAMP
);
COMMENT ON TABLE ORDER_CURRENCY IS 'Заявки для заключения сделок переноса на валютном рынке';
COMMENT ON COLUMN ORDER_CURRENCY.ID is 'Идентификатор записи';
COMMENT ON COLUMN ORDER_CURRENCY.SECURITY_ID is 'Инструмент';
COMMENT ON COLUMN ORDER_CURRENCY.SECURITY_SYMBOL is 'Код инструмента';
COMMENT ON COLUMN ORDER_CURRENCY.ACCOUNT is 'Торговый счет';
COMMENT ON COLUMN ORDER_CURRENCY.TRADING_CLEARING_REGISTRY_ID is 'Идентификатор ТКР';
COMMENT ON COLUMN ORDER_CURRENCY.COMPANY_ID is 'Компания';
COMMENT ON COLUMN ORDER_CURRENCY.TRADING_CODE is 'Код УТ';
COMMENT ON COLUMN ORDER_CURRENCY.COUNTER_PARTY_ID is 'Идентификатор контрагента';
COMMENT ON COLUMN ORDER_CURRENCY.COUNTER_TRADING_CODE is 'Торговый код контрагента';
COMMENT ON COLUMN ORDER_CURRENCY.TYPE is 'Тип заявки';
COMMENT ON COLUMN ORDER_CURRENCY.OVERNIGHT_TYPE is 'Тип инструментов переноса';
COMMENT ON COLUMN ORDER_CURRENCY.LISTING_ID is 'Идентификатор листинга';
COMMENT ON COLUMN ORDER_CURRENCY.MARKET is 'Режим торгов';
COMMENT ON COLUMN ORDER_CURRENCY.PRICE is 'Цена заявки';
COMMENT ON COLUMN ORDER_CURRENCY.RATE is 'Ставка переноса';
COMMENT ON COLUMN ORDER_CURRENCY.QUANTITY_LOT is 'Количество лотов';
COMMENT ON COLUMN ORDER_CURRENCY.QUANTITY is 'Количество лотов в шт.';
COMMENT ON COLUMN ORDER_CURRENCY.LOT_SIZE is 'Размер лота';
COMMENT ON COLUMN ORDER_CURRENCY.SIDE is 'Направление заявки';
COMMENT ON COLUMN ORDER_CURRENCY.SETTLE_CODE is 'Код расчетов';
COMMENT ON COLUMN ORDER_CURRENCY.SETTLE_DATE is 'Дата расчетов';
COMMENT ON COLUMN ORDER_CURRENCY.STATUS is 'Статус заявки';
COMMENT ON COLUMN ORDER_CURRENCY.COMMENT is 'Комментарий';
COMMENT ON COLUMN ORDER_CURRENCY.INITIAL_ORDER_ID is 'Номер исходной заявки';
COMMENT ON COLUMN ORDER_CURRENCY.CREATED_AT is 'Создано';
COMMENT ON COLUMN ORDER_CURRENCY.UPDATED_AT is 'Обновлено';
GRANT ALL PRIVILEGES ON TABLE ORDER_CURRENCY TO clearing;
DROP TABLE IF EXISTS OVERNIGHT_SETTINGS;
CREATE TABLE OVERNIGHT_SETTINGS
(
ID BIGINT PRIMARY KEY,
MARKET VARCHAR(4),
OVERNIGHT_TYPE VARCHAR(4),
COMPANY_ID BIGINT
);
COMMENT ON TABLE OVERNIGHT_SETTINGS IS 'Настройки переноса позиций';
COMMENT ON COLUMN OVERNIGHT_SETTINGS.ID is 'Идентификатор записи';
COMMENT ON COLUMN OVERNIGHT_SETTINGS.MARKET is 'Рынок';
COMMENT ON COLUMN OVERNIGHT_SETTINGS.OVERNIGHT_TYPE is 'Тип инструмента для сделки переноса';
COMMENT ON COLUMN OVERNIGHT_SETTINGS.COMPANY_ID is 'Компания';
GRANT ALL PRIVILEGES ON TABLE OVERNIGHT_SETTINGS TO clearing;
DROP TABLE IF EXISTS OVERNIGHT_TYPE_DICTIONARY;
CREATE TABLE OVERNIGHT_TYPE_DICTIONARY(ID bigint PRIMARY KEY, CODE varchar(4), NAME varchar(50));
COMMENT ON TABLE OVERNIGHT_TYPE_DICTIONARY IS 'Справочник типов сделок переноса';
COMMENT ON COLUMN OVERNIGHT_TYPE_DICTIONARY.ID IS 'Идентификатор';
COMMENT ON COLUMN OVERNIGHT_TYPE_DICTIONARY.CODE IS 'Код';
COMMENT ON COLUMN OVERNIGHT_TYPE_DICTIONARY.NAME IS 'Тип расчета';
GRANT ALL PRIVILEGES ON TABLE OVERNIGHT_TYPE_DICTIONARY TO clearing;
DROP TABLE IF EXISTS OVERNIGHT_RATES_CURRENCY;
CREATE TABLE OVERNIGHT_RATES_CURRENCY
(
ID BIGINT PRIMARY KEY,
BASE_CURRENCY VARCHAR(4),
QUOTE_CURRENCY VARCHAR(4),
BASE_RATE NUMERIC(72,18),
QUOTE_RATE NUMERIC(72,18),
SETTLE_DATE DATE
);
COMMENT ON TABLE OVERNIGHT_RATES_CURRENCY IS 'Ставки переноса для валютного рынка';
COMMENT ON COLUMN OVERNIGHT_RATES_CURRENCY.ID is 'Идентификатор записи';
COMMENT ON COLUMN OVERNIGHT_RATES_CURRENCY.BASE_CURRENCY is 'Базовая валюта';
COMMENT ON COLUMN OVERNIGHT_RATES_CURRENCY.QUOTE_CURRENCY is 'Сопряженная валюта';
COMMENT ON COLUMN OVERNIGHT_RATES_CURRENCY.BASE_RATE is 'Ставка переноса базовой валюты';
COMMENT ON COLUMN OVERNIGHT_RATES_CURRENCY.QUOTE_RATE is 'Ставка переноса сопряженной валюты';
COMMENT ON COLUMN OVERNIGHT_RATES_CURRENCY.SETTLE_DATE is 'Дата расчетов';
GRANT ALL PRIVILEGES ON TABLE OVERNIGHT_RATES_CURRENCY TO clearing;
DROP TABLE IF EXISTS S_ORDERS;
CREATE TABLE S_ORDERS
(
ID BIGINT PRIMARY KEY,
CREATED_AT TIMESTAMP,
UPDATED_AT TIMESTAMP,
ORDER_NUM BIGINT,
CLASS_CODE VARCHAR(12),
TRADE_DATE DATE,
SEC_CODE VARCHAR(12),
ACCRUEDINT NUMERIC(72, 18),
PRICE NUMERIC(72, 18),
VALUE NUMERIC(72, 18),
YIELD NUMERIC(72, 18),
PRICE2 NUMERIC(72, 18),
BALANCE NUMERIC(72, 18),
BALANCE_PCS NUMERIC(72, 18),
ORDER_DATE_TIME TIMESTAMP,
QTY NUMERIC(72, 18),
QTY_PCS NUMERIC(72, 18),
WITHDRAW_DATE_TIME TIMESTAMP,
ACCOUNT VARCHAR(12),
BROKER_REF VARCHAR(34),
CLIENT_CODE VARCHAR(12),
USER_ID VARCHAR(32),
SETTLE_CODE VARCHAR(12),
OPERATION VARCHAR(40),
STATE VARCHAR(12),
TYPE VARCHAR(12),
FIRM_ID VARCHAR(12),
FIRM_NAME VARCHAR(128),
EXCHANGE_CODE VARCHAR(64),
LINKED_ORDER BIGINT,
BANK_ACC_ID VARCHAR(12),
REPO_TERM BIGINT,
REPO_VALUE NUMERIC(72, 18),
REPO2_VALUE NUMERIC(72, 18),
REPO_VALUE_BALANCE NUMERIC(72, 18),
PRICE_CURRENCY VARCHAR(4),
SETTLE_CURRENCY VARCHAR(4),
EXT_ORDER_STATUS BIGINT,
FILLED_VALUE NUMERIC(72, 18),
SETTLE_DATE DATE,
SETTLE_DATE2 DATE,
QTY2 NUMERIC(72, 18),
VALUE2 NUMERIC(72, 18)
);
COMMENT ON TABLE S_ORDERS IS 'Заявки из Торговой системы';
COMMENT ON COLUMN S_ORDERS.ID is 'Идентификатор записи';
COMMENT ON COLUMN S_ORDERS.CREATED_AT is 'Дата и время создания';
COMMENT ON COLUMN S_ORDERS.UPDATED_AT is 'Дата и время обновления';
COMMENT ON COLUMN S_ORDERS.ORDER_NUM is 'Идентификационный номер заявки';
COMMENT ON COLUMN S_ORDERS.CLASS_CODE is 'Код класса инструментов';
COMMENT ON COLUMN S_ORDERS.TRADE_DATE is 'Дата торговой сессии';
COMMENT ON COLUMN S_ORDERS.SEC_CODE is 'Код инструмента';
COMMENT ON COLUMN S_ORDERS.ACCRUEDINT is 'Накопленный купонный доход';
COMMENT ON COLUMN S_ORDERS.PRICE is 'Цена за одну ценную бумагу';
COMMENT ON COLUMN S_ORDERS.VALUE is 'Объем сделки без учета комиссионного сбора биржи и % дохода';
COMMENT ON COLUMN S_ORDERS.YIELD is 'Доходность';
COMMENT ON COLUMN S_ORDERS.PRICE2 is 'Цена второй части РЕПО';
COMMENT ON COLUMN S_ORDERS.BALANCE is 'Неисполненный остаток заявки, в лотах';
COMMENT ON COLUMN S_ORDERS.BALANCE_PCS is 'Неисполненный остаток заявки, в штуках';
COMMENT ON COLUMN S_ORDERS.ORDER_DATE_TIME is 'Дата и время регистрации заявки в торговой системе';
COMMENT ON COLUMN S_ORDERS.QTY is 'Количество ценных бумаг в лотах';
COMMENT ON COLUMN S_ORDERS.QTY_PCS is 'Количество ценных бумаг в штуках';
COMMENT ON COLUMN S_ORDERS.WITHDRAW_DATE_TIME is 'Дата и время снятия заявки';
COMMENT ON COLUMN S_ORDERS.ACCOUNT is 'Торговый счет';
COMMENT ON COLUMN S_ORDERS.BROKER_REF is 'Комментарий, обычно: <код клиента>/<номер поручения>';
COMMENT ON COLUMN S_ORDERS.CLIENT_CODE is 'Код клиента';
COMMENT ON COLUMN S_ORDERS.USER_ID is 'Идентификатор рабочей станции РТС';
COMMENT ON COLUMN S_ORDERS.SETTLE_CODE is 'Код расчетов';
COMMENT ON COLUMN S_ORDERS.OPERATION is 'Тип операции (продажа или покупка)';
COMMENT ON COLUMN S_ORDERS.STATE is 'Состояние заявки';
COMMENT ON COLUMN S_ORDERS.TYPE is 'Тип заявки';
COMMENT ON COLUMN S_ORDERS.FIRM_ID is 'Код участника торгов';
COMMENT ON COLUMN S_ORDERS.FIRM_NAME is 'Наименование участника торгов';
COMMENT ON COLUMN S_ORDERS.EXCHANGE_CODE is 'Код биржи';
COMMENT ON COLUMN S_ORDERS.LINKED_ORDER is 'Номер исходной заявки';
COMMENT ON COLUMN S_ORDERS.BANK_ACC_ID is 'Идентификатор расчетного счета/кода в клиринговой организации';
COMMENT ON COLUMN S_ORDERS.REPO_TERM is 'Срок РЕПО в календарных днях';
COMMENT ON COLUMN S_ORDERS.REPO_VALUE is 'Сумма РЕПО на текущую дату';
COMMENT ON COLUMN S_ORDERS.REPO2_VALUE is 'Объем сделки выкупа РЕПО';
COMMENT ON COLUMN S_ORDERS.REPO_VALUE_BALANCE is 'Остаток суммы РЕПО за вычетом суммы привлеченных / предоставленных по сделке РЕПО денежных средств в неисполненной части заявки, по состоянию на текущую дату';
COMMENT ON COLUMN S_ORDERS.PRICE_CURRENCY is 'Валюта, в которой указана цена заявки';
COMMENT ON COLUMN S_ORDERS.SETTLE_CURRENCY is 'Валюта расчетов по данной заявке';
COMMENT ON COLUMN S_ORDERS.EXT_ORDER_STATUS is 'Расширенный статус заявки';
COMMENT ON COLUMN S_ORDERS.FILLED_VALUE is 'Исполненный объем заявки';
COMMENT ON COLUMN S_ORDERS.SETTLE_DATE is 'Дата расчетов первой (ближней) ноги свопа';
COMMENT ON COLUMN S_ORDERS.SETTLE_DATE2 is 'Дата расчетов второй (дальней) ноги свопа';
COMMENT ON COLUMN S_ORDERS.QTY2 is 'Количество второй части свопа';
COMMENT ON COLUMN S_ORDERS.VALUE2 is 'Объем второй части свопа';
GRANT ALL PRIVILEGES ON TABLE S_ORDERS TO clearing;
INSERT INTO DB_VERSION(ID, VERSION) values (1, '3.22') ON CONFLICT (ID) DO UPDATE SET VERSION = EXCLUDED.VERSION;