From a9d9af0f5dbcfc2a068b896d71d6ff5935b1f72f Mon Sep 17 00:00:00 2001 From: lapuda <577732344@qq.com> Date: Wed, 22 Jul 2026 17:07:47 +0800 Subject: [PATCH] fix: create venue booth template in shz schema --- sql/cms_venue_booth_template.sql | 35 +++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/sql/cms_venue_booth_template.sql b/sql/cms_venue_booth_template.sql index a3f8338..5aa27ee 100644 --- a/sql/cms_venue_booth_template.sql +++ b/sql/cms_venue_booth_template.sql @@ -1,10 +1,25 @@ -- 场地展位图模板:只保存固定布局,不保存企业、预定状态或预定记录。 -- 瀚高数据库 / PostgreSQL 兼容;可重复执行。 +-- 所有对象显式建在 shz schema,避免 psql 会话的默认 public schema 造成业务不可见。 -CREATE SEQUENCE IF NOT EXISTS "cms_venue_booth_id_seq" START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; +-- 清理由本 migration 早期未设置 search_path 可能留下的空 public 表;如发现有数据则停止,绝不静默删除。 +DO $$ +BEGIN + IF to_regclass('public.cms_venue_booth') IS NOT NULL THEN + IF EXISTS (SELECT 1 FROM public.cms_venue_booth) THEN + RAISE EXCEPTION 'public.cms_venue_booth contains data; please migrate it deliberately before running this migration'; + END IF; + DROP TABLE public.cms_venue_booth; + END IF; + IF to_regclass('public.cms_venue_booth_id_seq') IS NOT NULL THEN + DROP SEQUENCE public.cms_venue_booth_id_seq; + END IF; +END $$; -CREATE TABLE IF NOT EXISTS "cms_venue_booth" ( - "id" BIGINT NOT NULL DEFAULT nextval('"cms_venue_booth_id_seq"') PRIMARY KEY, +CREATE SEQUENCE IF NOT EXISTS shz.cms_venue_booth_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; + +CREATE TABLE IF NOT EXISTS shz.cms_venue_booth ( + "id" BIGINT NOT NULL DEFAULT nextval('shz.cms_venue_booth_id_seq'::regclass) PRIMARY KEY, "venue_id" BIGINT NOT NULL, "booth_number" VARCHAR(50) NOT NULL, "position_x" INTEGER NOT NULL DEFAULT 0, @@ -17,11 +32,11 @@ CREATE TABLE IF NOT EXISTS "cms_venue_booth" ( "del_flag" CHAR(1) DEFAULT '0' ); -COMMENT ON TABLE "cms_venue_booth" IS '场地展位图模板'; -COMMENT ON COLUMN "cms_venue_booth"."venue_id" IS '场地ID'; -COMMENT ON COLUMN "cms_venue_booth"."booth_number" IS '展位号'; -COMMENT ON COLUMN "cms_venue_booth"."position_x" IS 'X坐标'; -COMMENT ON COLUMN "cms_venue_booth"."position_y" IS 'Y坐标'; +COMMENT ON TABLE shz.cms_venue_booth IS '场地展位图模板'; +COMMENT ON COLUMN shz.cms_venue_booth."venue_id" IS '场地ID'; +COMMENT ON COLUMN shz.cms_venue_booth."booth_number" IS '展位号'; +COMMENT ON COLUMN shz.cms_venue_booth."position_x" IS 'X坐标'; +COMMENT ON COLUMN shz.cms_venue_booth."position_y" IS 'Y坐标'; -CREATE UNIQUE INDEX IF NOT EXISTS "uk_cms_venue_booth_number" ON "cms_venue_booth" ("venue_id", "booth_number"); -CREATE INDEX IF NOT EXISTS "idx_cms_venue_booth_venue" ON "cms_venue_booth" ("venue_id"); +CREATE UNIQUE INDEX IF NOT EXISTS uk_cms_venue_booth_number ON shz.cms_venue_booth ("venue_id", "booth_number"); +CREATE INDEX IF NOT EXISTS idx_cms_venue_booth_venue ON shz.cms_venue_booth ("venue_id");