From 6ca4489ad753d37738808680bb033b2dba333d13 Mon Sep 17 00:00:00 2001 From: vipg Date: Tue, 25 Nov 2025 15:39:52 +0800 Subject: [PATCH] add --- backend/sql/08_trade.sql | 24 +++++++++++++++++++++++- backend/提示词条.md | 8 ++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/backend/sql/08_trade.sql b/backend/sql/08_trade.sql index bdfeae5..a668265 100644 --- a/backend/sql/08_trade.sql +++ b/backend/sql/08_trade.sql @@ -121,6 +121,24 @@ BEGIN ELSE RAISE NOTICE '6️⃣⏩ open_price 子表已存在,跳过'; END IF; + + -- open_fee 子表 + IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'trade_open_fee') THEN + CREATE TABLE open_fee ( + id UUID DEFAULT gen_random_uuid() PRIMARY KEY, + trade_id UUID NOT NULL, + open_fee NUMERIC(10,2) NOT NULL CHECK (open_fee >= 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_fee_updated_at + BEFORE UPDATE ON open_fee + FOR EACH ROW EXECUTE FUNCTION update_data_modified_column(); + RAISE NOTICE '7️⃣✅ open_fee 子表已创建'; + ELSE + RAISE NOTICE '7️⃣⏩ open_fee 子表已存在,跳过'; + END IF; END $$; -- 4️⃣ 视图 ------------------------------------ @@ -134,13 +152,15 @@ SELECT od.day AS open_day, v.variety_name AS variety_name, d.direction AS direction, - op.open_price AS open_price + op.open_price AS open_price, + of.open_fee AS open_fee 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 +LEFT JOIN open_fee of ON t.id = of.trade_id AND of.deleted = FALSE WHERE t.deleted = FALSE; RAISE NOTICE '4️⃣✅ trade_info_view 已创建/更新'; @@ -150,6 +170,8 @@ CREATE INDEX IF NOT EXISTS idx_remark_trade_id_deleted ON remark(trade_id, delet CREATE INDEX IF NOT EXISTS idx_open_date_trade_id_deleted ON open_date(trade_id, deleted); CREATE INDEX IF NOT EXISTS idx_variety_trade_id_deleted ON variety(trade_id, deleted); CREATE INDEX IF NOT EXISTS idx_direction_trade_id_deleted ON direction(trade_id, deleted); +CREATE INDEX IF NOT EXISTS idx_open_price_trade_id_deleted ON open_price(trade_id, deleted); +CREATE INDEX IF NOT EXISTS idx_open_fee_trade_id_deleted ON open_fee(trade_id, deleted); RAISE NOTICE '5️⃣✅ 全部索引已确保存在'; diff --git a/backend/提示词条.md b/backend/提示词条.md index 358eeea..7b1fa89 100644 --- a/backend/提示词条.md +++ b/backend/提示词条.md @@ -56,4 +56,12 @@ 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 +--- +读取./sql/08_trade.sql,然后多加一个子表,子表名叫trade_open_fee,子表逻辑字段为: +id UUID DEFAULT gen_random_uuid() PRIMARY KEY, +trade_id UUID NOT NULL, +open_fee 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 --- \ No newline at end of file