diff --git a/backend/sql/08_trade.sql b/backend/sql/08_trade.sql index a1c541d..aebacca 100644 --- a/backend/sql/08_trade.sql +++ b/backend/sql/08_trade.sql @@ -66,6 +66,25 @@ BEGIN ELSE RAISE NOTICE '3️⃣⏩ open_date 子表已存在,跳过'; END IF; + + -- variety 子表 + IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'trade_variety') THEN + CREATE TABLE 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 + ); + CREATE TRIGGER update_variety_updated_at + BEFORE UPDATE ON variety + FOR EACH ROW EXECUTE FUNCTION update_data_modified_column(); + RAISE NOTICE '4️⃣✅ variety 子表已创建'; + ELSE + RAISE NOTICE '4️⃣⏩ variety 子表已存在,跳过'; + END IF; END $$; -- 4️⃣ 视图 ------------------------------------ @@ -76,10 +95,12 @@ SELECT r.remark AS remark, od.year AS open_year, od.month AS open_month, - od.day AS open_day + od.day AS open_day, + v.variety_name AS variety_name 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 WHERE t.deleted = FALSE; RAISE NOTICE '4️⃣✅ trade_info_view 已创建/更新'; @@ -87,6 +108,7 @@ RAISE NOTICE '4️⃣✅ trade_info_view 已创建/更新'; -- 5️⃣ 性能索引 ------------------------------------------------ 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); RAISE NOTICE '5️⃣✅ 全部索引已确保存在'; diff --git a/backend/提示词条.md b/backend/提示词条.md index b3d6c2c..cfb903f 100644 --- a/backend/提示词条.md +++ b/backend/提示词条.md @@ -31,4 +31,12 @@ 3、确认提交的 page,page_size, 如果为空,则 page 默认为 1,page_size 默认为20。 3、根据参数去 country_info_view 中查找数据,并做分页查询。 4、将查找的数据分页返回。 +--- +读取./sql/08_trade.sql,然后多加一个子表,子表名叫trade_variety,子表逻辑字段为: +id UUID DEFAULT gen_random_uuid() PRIMARY KEY, +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 --- \ No newline at end of file