migrations: merge orders,trades migration

This commit is contained in:
c9s 2022-03-11 13:32:40 +08:00
parent 98f5416661
commit 32a5cd9f85
8 changed files with 40 additions and 59 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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