This commit is contained in:
vipg
2025-11-25 15:36:38 +08:00
parent e0dcaf4ff6
commit e9474e672a
2 changed files with 32 additions and 4 deletions

View File

@@ -52,9 +52,9 @@ BEGIN
CREATE TABLE open_date (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
trade_id UUID NOT NULL,
year int NOT NULL DEFAULT 0,
month int NOT NULL DEFAULT 0,
day int NOT NULL DEFAULT 0,
year INT NOT NULL DEFAULT 0,
month INT NOT NULL DEFAULT 0,
day INT NOT NULL DEFAULT 0,
deleted BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
@@ -103,6 +103,24 @@ BEGIN
ELSE
RAISE NOTICE '5⃣⏩ direction 子表已存在,跳过';
END IF;
-- open_price 子表
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'trade_open_price') THEN
CREATE TABLE open_price (
id UUID DEFAULT gen_random_uuid() PRIMARY KEY,
trade_id UUID NOT NULL,
open_price NUMERIC(10,2) NOT NULL CHECK (open_price >= 0.00) 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_open_price_updated_at
BEFORE UPDATE ON open_price
FOR EACH ROW EXECUTE FUNCTION update_data_modified_column();
RAISE NOTICE '6⃣✅ open_price 子表已创建';
ELSE
RAISE NOTICE '6⃣⏩ open_price 子表已存在,跳过';
END IF;
END $$;
-- 4⃣ 视图 ------------------------------------
@@ -115,12 +133,14 @@ SELECT
od.month AS open_month,
od.day AS open_day,
v.variety_name AS variety_name,
d.direction AS direction
d.direction AS direction,
op.open_price AS open_price
FROM trade t
LEFT JOIN remark r ON t.id = r.trade_id AND r.deleted = FALSE
LEFT JOIN open_date od ON t.id = od.trade_id AND od.deleted = FALSE
LEFT JOIN variety v ON t.id = v.trade_id AND v.deleted = FALSE
LEFT JOIN direction d ON t.id = d.trade_id AND d.deleted = FALSE
LEFT JOIN open_price op ON t.id = op.trade_id AND op.deleted = FALSE
WHERE t.deleted = FALSE;
RAISE NOTICE '4⃣✅ trade_info_view 已创建/更新';

View File

@@ -48,4 +48,12 @@ direction VARCHAR NOT NULL,
deleted BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP
---
读取./sql/08_trade.sql然后多加一个子表子表名叫trade_open_price子表逻辑字段为:
id UUID DEFAULT gen_random_uuid() PRIMARY KEY
trade_id UUID NOT NULL,
open_price numeric(10,2) NOT NULL CHECK (price >= 0.00) 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
---