Files
shz-backend/sql/cms_outdoor_fair_booth_snapshot.sql
lapuda c3de38ee82 feat: add inspect-shz-logs skill for log inspection and monitoring
- Implemented a new skill to inspect and follow SHZ backend logs with bounded read-only commands.
- Added scripts for viewing local and production logs, including options for following logs.
- Created references for log locations and usage guidelines.

feat: add query-shz-highgo skill for database querying

- Introduced a skill to query the SHZ HighGo database through an SSH gateway using a read-only psql workflow.
- Included scripts for executing SQL queries and schema discovery.
- Added connection details and usage instructions.

feat: add OutdoorFairBooth domain and mapper

- Created OutdoorFairBooth domain model with relevant fields and annotations.
- Implemented a mapper interface for physical deletion of records based on fair ID.

feat: create SQL scripts for cms_outdoor_fair_booth

- Added SQL script to create the cms_outdoor_fair_booth table and its associated sequence.
- Included comments for clarity and compatibility with historical data.
- Added a script to drop the cms_venue_booth table after migration confirmation.
2026-06-25 15:53:01 +08:00

47 lines
2.2 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- 户外招聘会展位副本:招聘会绑定场地后,在招聘会详情内独立生成和维护展位图
-- 瀚高数据库 / PostgreSQL 兼容
CREATE SEQUENCE IF NOT EXISTS "cms_outdoor_fair_booth_id_seq" START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1;
CREATE TABLE IF NOT EXISTS "cms_outdoor_fair_booth" (
"id" BIGINT NOT NULL DEFAULT nextval('"cms_outdoor_fair_booth_id_seq"') PRIMARY KEY,
"fair_id" BIGINT NOT NULL,
"source_venue_id" BIGINT,
"source_booth_id" BIGINT,
"booth_number" VARCHAR(50) NOT NULL,
"position_x" INTEGER NOT NULL DEFAULT 0,
"position_y" INTEGER NOT NULL DEFAULT 0,
"create_by" VARCHAR(64) DEFAULT '',
"create_time" TIMESTAMP(0),
"update_by" VARCHAR(64) DEFAULT '',
"update_time" TIMESTAMP(0),
"remark" VARCHAR(500),
"del_flag" CHAR(1) DEFAULT '0'
);
COMMENT ON TABLE "cms_outdoor_fair_booth" IS '户外招聘会展位图副本';
COMMENT ON COLUMN "cms_outdoor_fair_booth"."fair_id" IS '招聘会ID';
COMMENT ON COLUMN "cms_outdoor_fair_booth"."source_venue_id" IS '来源场地ID';
COMMENT ON COLUMN "cms_outdoor_fair_booth"."source_booth_id" IS '来源场地展位ID';
COMMENT ON COLUMN "cms_outdoor_fair_booth"."booth_number" IS '展位号';
COMMENT ON COLUMN "cms_outdoor_fair_booth"."position_x" IS 'X坐标';
COMMENT ON COLUMN "cms_outdoor_fair_booth"."position_y" IS 'Y坐标';
CREATE UNIQUE INDEX IF NOT EXISTS "uk_cms_outdoor_fair_booth_number" ON "cms_outdoor_fair_booth" ("fair_id", "booth_number");
CREATE INDEX IF NOT EXISTS "idx_cms_outdoor_fair_booth_fair" ON "cms_outdoor_fair_booth" ("fair_id");
-- 兼容历史预定:如果已有副本保留了 source_booth_id把旧 booking.booth_id 改为招聘会副本展位ID
UPDATE "cms_outdoor_fair_booth_booking" booking
SET "booth_id" = fair_booth."id",
"booth_number" = fair_booth."booth_number"
FROM "cms_outdoor_fair_booth" fair_booth
WHERE booking."fair_id" = fair_booth."fair_id"
AND booking."booth_id" = fair_booth."source_booth_id"
AND booking."del_flag" = '0'
AND NOT EXISTS (
SELECT 1
FROM "cms_outdoor_fair_booth" snapshot_booth
WHERE snapshot_booth."fair_id" = booking."fair_id"
AND snapshot_booth."id" = booking."booth_id"
);