From 32a5cd9f855081893f8fe122d6e98c17490a6760 Mon Sep 17 00:00:00 2001 From: c9s Date: Fri, 11 Mar 2022 13:32:40 +0800 Subject: [PATCH] migrations: merge orders,trades migration --- migrations/mysql/20200721225616_trades.sql | 19 ++++++++++++++++--- .../mysql/20200819054742_trade_index.sql | 8 ++------ migrations/mysql/20201102222546_orders.sql | 14 +++++++++++--- .../mysql/20201105092857_trades_index_fix.sql | 17 +++-------------- .../mysql/20201105093056_orders_add_index.sql | 6 ++---- .../20201211175751_fix_symbol_length.sql | 6 ++---- .../mysql/20210118163847_fix_unique_index.sql | 10 ++-------- .../20210119232826_add_margin_columns.sql | 19 ++----------------- 8 files changed, 40 insertions(+), 59 deletions(-) diff --git a/migrations/mysql/20200721225616_trades.sql b/migrations/mysql/20200721225616_trades.sql index 91f290b5a..ceeebed41 100644 --- a/migrations/mysql/20200721225616_trades.sql +++ b/migrations/mysql/20200721225616_trades.sql @@ -6,20 +6,33 @@ CREATE TABLE `trades` `id` BIGINT UNSIGNED, `order_id` BIGINT UNSIGNED NOT NULL, `exchange` VARCHAR(24) NOT NULL DEFAULT '', - `symbol` VARCHAR(8) NOT NULL, + `symbol` VARCHAR(20) NOT NULL, `price` DECIMAL(16, 8) UNSIGNED NOT NULL, `quantity` DECIMAL(16, 8) UNSIGNED NOT NULL, `quote_quantity` DECIMAL(16, 8) UNSIGNED NOT NULL, `fee` DECIMAL(16, 8) UNSIGNED NOT NULL, - `fee_currency` VARCHAR(4) NOT NULL, + `fee_currency` VARCHAR(6) NOT NULL, `is_buyer` BOOLEAN NOT NULL DEFAULT FALSE, `is_maker` BOOLEAN NOT NULL DEFAULT FALSE, `side` VARCHAR(4) NOT NULL DEFAULT '', `traded_at` DATETIME(3) NOT NULL, + `is_margin` BOOLEAN NOT NULL DEFAULT FALSE, + `is_isolated` BOOLEAN NOT NULL DEFAULT FALSE, + PRIMARY KEY (`gid`), - UNIQUE KEY `id` (`id`) + UNIQUE KEY `id` (`exchange`, `symbol`, `side`, `id`) ); +CREATE INDEX trades_symbol ON trades (exchange, symbol); +CREATE INDEX trades_symbol_fee_currency ON trades (exchange, symbol, fee_currency, traded_at); +CREATE INDEX trades_traded_at_symbol ON trades (exchange, traded_at, symbol); + + -- +down DROP TABLE IF EXISTS `trades`; + +DROP INDEX trades_symbol ON trades; +DROP INDEX trades_symbol_fee_currency ON trades; +DROP INDEX trades_traded_at_symbol ON trades; + diff --git a/migrations/mysql/20200819054742_trade_index.sql b/migrations/mysql/20200819054742_trade_index.sql index 6ce90b1bd..06569c667 100644 --- a/migrations/mysql/20200819054742_trade_index.sql +++ b/migrations/mysql/20200819054742_trade_index.sql @@ -1,9 +1,5 @@ -- +up -CREATE INDEX trades_symbol ON trades(symbol); -CREATE INDEX trades_symbol_fee_currency ON trades(symbol, fee_currency, traded_at); -CREATE INDEX trades_traded_at_symbol ON trades(traded_at, symbol); +SELECT 1; -- +down -DROP INDEX trades_symbol ON trades; -DROP INDEX trades_symbol_fee_currency ON trades; -DROP INDEX trades_traded_at_symbol ON trades; +SELECT 1; diff --git a/migrations/mysql/20201102222546_orders.sql b/migrations/mysql/20201102222546_orders.sql index 297173908..32a85e708 100644 --- a/migrations/mysql/20201102222546_orders.sql +++ b/migrations/mysql/20201102222546_orders.sql @@ -6,9 +6,9 @@ CREATE TABLE `orders` `exchange` VARCHAR(24) NOT NULL DEFAULT '', -- order_id is the order id returned from the exchange `order_id` BIGINT UNSIGNED NOT NULL, - `client_order_id` VARCHAR(122) NOT NULL DEFAULT '', + `client_order_id` VARCHAR(122) NOT NULL DEFAULT '', `order_type` VARCHAR(16) NOT NULL, - `symbol` VARCHAR(8) NOT NULL, + `symbol` VARCHAR(20) NOT NULL, `status` VARCHAR(12) NOT NULL, `time_in_force` VARCHAR(4) NOT NULL, `price` DECIMAL(16, 8) UNSIGNED NOT NULL, @@ -19,8 +19,16 @@ CREATE TABLE `orders` `is_working` BOOL NOT NULL DEFAULT FALSE, `created_at` DATETIME(3) NOT NULL, `updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), - PRIMARY KEY (`gid`) + `is_margin` BOOLEAN NOT NULL DEFAULT FALSE, + `is_isolated` BOOLEAN NOT NULL DEFAULT FALSE, + + PRIMARY KEY (`gid`) ); +CREATE INDEX orders_symbol ON orders (exchange, symbol); +CREATE UNIQUE INDEX orders_order_id ON orders (order_id, exchange); + -- +down +DROP INDEX orders_symbol ON orders; +DROP INDEX orders_order_id ON orders; DROP TABLE `orders`; diff --git a/migrations/mysql/20201105092857_trades_index_fix.sql b/migrations/mysql/20201105092857_trades_index_fix.sql index 452f7fa8d..856227a2f 100644 --- a/migrations/mysql/20201105092857_trades_index_fix.sql +++ b/migrations/mysql/20201105092857_trades_index_fix.sql @@ -1,19 +1,8 @@ -- +up -DROP INDEX trades_symbol ON trades; -DROP INDEX trades_symbol_fee_currency ON trades; -DROP INDEX trades_traded_at_symbol ON trades; - -CREATE INDEX trades_symbol ON trades (exchange, symbol); -CREATE INDEX trades_symbol_fee_currency ON trades (exchange, symbol, fee_currency, traded_at); -CREATE INDEX trades_traded_at_symbol ON trades (exchange, traded_at, symbol); +SELECT 1; -- +down -DROP INDEX trades_symbol ON trades; -DROP INDEX trades_symbol_fee_currency ON trades; -DROP INDEX trades_traded_at_symbol ON trades; - -CREATE INDEX trades_symbol ON trades (symbol); -CREATE INDEX trades_symbol_fee_currency ON trades (symbol, fee_currency, traded_at); -CREATE INDEX trades_traded_at_symbol ON trades (traded_at, symbol); +SELECT 1; + diff --git a/migrations/mysql/20201105093056_orders_add_index.sql b/migrations/mysql/20201105093056_orders_add_index.sql index 4d685d4a9..06569c667 100644 --- a/migrations/mysql/20201105093056_orders_add_index.sql +++ b/migrations/mysql/20201105093056_orders_add_index.sql @@ -1,7 +1,5 @@ -- +up -CREATE INDEX orders_symbol ON orders (exchange, symbol); -CREATE UNIQUE INDEX orders_order_id ON orders (order_id, exchange); +SELECT 1; -- +down -DROP INDEX orders_symbol ON orders; -DROP INDEX orders_order_id ON orders; +SELECT 1; diff --git a/migrations/mysql/20201211175751_fix_symbol_length.sql b/migrations/mysql/20201211175751_fix_symbol_length.sql index e0965ee42..06569c667 100644 --- a/migrations/mysql/20201211175751_fix_symbol_length.sql +++ b/migrations/mysql/20201211175751_fix_symbol_length.sql @@ -1,7 +1,5 @@ -- +up -ALTER TABLE trades MODIFY COLUMN symbol VARCHAR(9); -ALTER TABLE orders MODIFY COLUMN symbol VARCHAR(9); +SELECT 1; -- +down -ALTER TABLE trades MODIFY COLUMN symbol VARCHAR(8); -ALTER TABLE orders MODIFY COLUMN symbol VARCHAR(8); +SELECT 1; diff --git a/migrations/mysql/20210118163847_fix_unique_index.sql b/migrations/mysql/20210118163847_fix_unique_index.sql index d61819f07..8a69dd96a 100644 --- a/migrations/mysql/20210118163847_fix_unique_index.sql +++ b/migrations/mysql/20210118163847_fix_unique_index.sql @@ -1,15 +1,9 @@ -- +up -- +begin -ALTER TABLE `trades` DROP INDEX `id`; --- +end --- +begin -ALTER TABLE `trades` ADD UNIQUE INDEX `id` (`exchange`,`symbol`, `side`, `id`); +SELECT 1; -- +end -- +down -- +begin -ALTER TABLE `trades` DROP INDEX `id`; --- +end --- +begin -ALTER TABLE `trades` ADD UNIQUE INDEX `id` (`id`); +SELECT 1; -- +end diff --git a/migrations/mysql/20210119232826_add_margin_columns.sql b/migrations/mysql/20210119232826_add_margin_columns.sql index e4da7f59e..f4e29ff62 100644 --- a/migrations/mysql/20210119232826_add_margin_columns.sql +++ b/migrations/mysql/20210119232826_add_margin_columns.sql @@ -1,19 +1,4 @@ -- +up -ALTER TABLE `trades` - ADD COLUMN `is_margin` BOOLEAN NOT NULL DEFAULT FALSE, - ADD COLUMN `is_isolated` BOOLEAN NOT NULL DEFAULT FALSE - ; - -ALTER TABLE `orders` - ADD COLUMN `is_margin` BOOLEAN NOT NULL DEFAULT FALSE, - ADD COLUMN `is_isolated` BOOLEAN NOT NULL DEFAULT FALSE - ; - +SELECT 1; -- +down -ALTER TABLE `trades` - DROP COLUMN `is_margin`, - DROP COLUMN `is_isolated`; - -ALTER TABLE `orders` - DROP COLUMN `is_margin`, - DROP COLUMN `is_isolated`; +SELECT 1;