From e0dcaf4ff69ed5894ac1ceba6768dc6a442f02b4 Mon Sep 17 00:00:00 2001 From: vipg Date: Tue, 25 Nov 2025 15:29:02 +0800 Subject: [PATCH] add --- backend/sql/08_trade.sql | 23 ++++++++++++++++++++++- backend/提示词条.md | 9 +++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/backend/sql/08_trade.sql b/backend/sql/08_trade.sql index aebacca..063ad22 100644 --- a/backend/sql/08_trade.sql +++ b/backend/sql/08_trade.sql @@ -85,6 +85,24 @@ BEGIN ELSE RAISE NOTICE '4️⃣⏩ variety 子表已存在,跳过'; END IF; + + -- direction 子表 + IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'trade_direction') THEN + CREATE TABLE direction ( + id UUID DEFAULT gen_random_uuid() PRIMARY KEY, + trade_id UUID NOT NULL, + 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 + ); + CREATE TRIGGER update_direction_updated_at + BEFORE UPDATE ON direction + FOR EACH ROW EXECUTE FUNCTION update_data_modified_column(); + RAISE NOTICE '5️⃣✅ direction 子表已创建'; + ELSE + RAISE NOTICE '5️⃣⏩ direction 子表已存在,跳过'; + END IF; END $$; -- 4️⃣ 视图 ------------------------------------ @@ -96,11 +114,13 @@ SELECT od.year AS open_year, od.month AS open_month, od.day AS open_day, - v.variety_name AS variety_name + v.variety_name AS variety_name, + d.direction AS direction 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 WHERE t.deleted = FALSE; RAISE NOTICE '4️⃣✅ trade_info_view 已创建/更新'; @@ -109,6 +129,7 @@ RAISE NOTICE '4️⃣✅ trade_info_view 已创建/更新'; CREATE INDEX IF NOT EXISTS idx_remark_trade_id_deleted ON remark(trade_id, deleted); 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); RAISE NOTICE '5️⃣✅ 全部索引已确保存在'; diff --git a/backend/提示词条.md b/backend/提示词条.md index cfb903f..85e9ccf 100644 --- a/backend/提示词条.md +++ b/backend/提示词条.md @@ -34,9 +34,18 @@ --- 读取./sql/08_trade.sql,然后多加一个子表,子表名叫trade_variety,子表逻辑字段为: id UUID DEFAULT gen_random_uuid() PRIMARY KEY, +trade_id UUID NOT NULL, variety_id UUID NOT NULL, variety_name 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_direction,子表逻辑字段为: +id UUID DEFAULT gen_random_uuid() PRIMARY KEY, +trade_id UUID NOT NULL, +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 --- \ No newline at end of file