- 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.
47 lines
2.2 KiB
SQL
47 lines
2.2 KiB
SQL
-- 户外招聘会展位副本:招聘会绑定场地后,在招聘会详情内独立生成和维护展位图
|
||
-- 瀚高数据库 / 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"
|
||
);
|