This commit is contained in:
vipg
2025-11-25 15:29:02 +08:00
parent 902a6a9b75
commit e0dcaf4ff6
2 changed files with 31 additions and 1 deletions

View File

@@ -85,6 +85,24 @@ BEGIN
ELSE ELSE
RAISE NOTICE '4⃣⏩ variety 子表已存在,跳过'; RAISE NOTICE '4⃣⏩ variety 子表已存在,跳过';
END IF; 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 $$; END $$;
-- 4⃣ 视图 ------------------------------------ -- 4⃣ 视图 ------------------------------------
@@ -96,11 +114,13 @@ SELECT
od.year AS open_year, od.year AS open_year,
od.month AS open_month, od.month AS open_month,
od.day AS open_day, od.day AS open_day,
v.variety_name AS variety_name v.variety_name AS variety_name,
d.direction AS direction
FROM trade t FROM trade t
LEFT JOIN remark r ON t.id = r.trade_id AND r.deleted = FALSE 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 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 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; WHERE t.deleted = FALSE;
RAISE NOTICE '4⃣✅ trade_info_view 已创建/更新'; 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_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_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_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⃣✅ 全部索引已确保存在'; RAISE NOTICE '5⃣✅ 全部索引已确保存在';

View File

@@ -34,9 +34,18 @@
--- ---
读取./sql/08_trade.sql然后多加一个子表子表名叫trade_variety子表逻辑字段为: 读取./sql/08_trade.sql然后多加一个子表子表名叫trade_variety子表逻辑字段为:
id UUID DEFAULT gen_random_uuid() PRIMARY KEY id UUID DEFAULT gen_random_uuid() PRIMARY KEY
trade_id UUID NOT NULL,
variety_id UUID NOT NULL, variety_id UUID NOT NULL,
variety_name VARCHAR NOT NULL, variety_name VARCHAR NOT NULL,
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
---
读取./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
--- ---