Compare commits
2 Commits
9627c939f6
...
310173bc9f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
310173bc9f | ||
|
|
143a87c3dd |
36
backend/futures_trade_record/sql/03_create_deal_table.sql
Normal file
36
backend/futures_trade_record/sql/03_create_deal_table.sql
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
-- 切换到目标数据库
|
||||||
|
\c postgres;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION update_deal_modified_column()
|
||||||
|
RETURNS TRIGGER AS $$
|
||||||
|
BEGIN
|
||||||
|
NEW.updated_at = CURRENT_TIMESTAMP;
|
||||||
|
RETURN NEW;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql VOLATILE;
|
||||||
|
|
||||||
|
DO $$
|
||||||
|
BEGIN
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_deal = 'deal') THEN
|
||||||
|
CREATE TABLE deal (
|
||||||
|
id UUID DEFAULT gen_random_uuid_v7() PRIMARY KEY NOT NULL,
|
||||||
|
record_id UUID NOT NULL,
|
||||||
|
variety_id VARCHAR(50) NOT NULL, -- 品种id
|
||||||
|
contract VARCHAR(50) NOT NULL, -- 合约(如:2401)
|
||||||
|
direction VARCHAR(20) NOT NULL CHECK (direction IN ('多', '空')), -- 限制合法方向
|
||||||
|
variety_tick NUMERIC(12, 6),
|
||||||
|
variety_tick_price NUMERIC(12, 6),
|
||||||
|
deleted BOOLEAN NOT NULL DEFAULT FALSE,
|
||||||
|
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||||
|
);
|
||||||
|
CREATE TRIGGER update_deal_updated_at
|
||||||
|
BEFORE UPDATE ON "deal"
|
||||||
|
FOR EACH ROW
|
||||||
|
EXECUTE FUNCTION update_deal_modified_column();
|
||||||
|
|
||||||
|
RAISE NOTICE 'created deal table and trigger';
|
||||||
|
ELSE
|
||||||
|
RAISE NOTICE 'deal table already exists';
|
||||||
|
END IF;
|
||||||
|
END $$;
|
||||||
@@ -18,9 +18,8 @@ BEGIN
|
|||||||
year INT NOT NULL,
|
year INT NOT NULL,
|
||||||
month INT NOT NULL,
|
month INT NOT NULL,
|
||||||
day INT NOT NULL,
|
day INT NOT NULL,
|
||||||
variety_id VARCHAR(50) NOT NULL, -- 品种id
|
open_price NUMERIC(12, 6),
|
||||||
contract VARCHAR(50) NOT NULL, -- 合约(如:2401)
|
open_commission NUMERIC(10, 6) DEFAULT 0.00,
|
||||||
direction VARCHAR(20) NOT NULL CHECK (direction IN ('多', '空')), -- 限制合法方向
|
|
||||||
deleted BOOLEAN NOT NULL DEFAULT FALSE,
|
deleted BOOLEAN NOT NULL DEFAULT FALSE,
|
||||||
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||||
@@ -30,7 +29,7 @@ BEGIN
|
|||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
EXECUTE FUNCTION update_open_modified_column();
|
EXECUTE FUNCTION update_open_modified_column();
|
||||||
|
|
||||||
RAISE NOTICE 'Created open table and trigger';
|
RAISE NOTICE 'created open table and trigger';
|
||||||
ELSE
|
ELSE
|
||||||
RAISE NOTICE 'open table already exists';
|
RAISE NOTICE 'open table already exists';
|
||||||
END IF;
|
END IF;
|
||||||
36
backend/futures_trade_record/sql/05_create_close_table.sql
Normal file
36
backend/futures_trade_record/sql/05_create_close_table.sql
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
-- 切换到目标数据库
|
||||||
|
\c postgres;
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION update_close_modified_column()
|
||||||
|
RETURNS TRIGGER AS $$
|
||||||
|
BEGIN
|
||||||
|
NEW.updated_at = CURRENT_TIMESTAMP;
|
||||||
|
RETURN NEW;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql VOLATILE;
|
||||||
|
|
||||||
|
DO $$
|
||||||
|
BEGIN
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_close = 'close') THEN
|
||||||
|
CREATE TABLE close (
|
||||||
|
id UUID DEFAULT gen_random_uuid_v7() PRIMARY KEY NOT NULL,
|
||||||
|
record_id UUID NOT NULL,
|
||||||
|
year INT NOT NULL,
|
||||||
|
month INT NOT NULL,
|
||||||
|
day INT NOT NULL,
|
||||||
|
close_price NUMERIC(12, 6),
|
||||||
|
close_commission NUMERIC(10, 6) DEFAULT 0.00,
|
||||||
|
deleted BOOLEAN NOT NULL DEFAULT FALSE,
|
||||||
|
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
|
||||||
|
);
|
||||||
|
CREATE TRIGGER update_close_updated_at
|
||||||
|
BEFORE UPDATE ON "close"
|
||||||
|
FOR EACH ROW
|
||||||
|
EXECUTE FUNCTION update_close_modified_column();
|
||||||
|
|
||||||
|
RAISE NOTICE 'created close table and trigger';
|
||||||
|
ELSE
|
||||||
|
RAISE NOTICE 'close table already exists';
|
||||||
|
END IF;
|
||||||
|
END $$;
|
||||||
Reference in New Issue
Block a user