-- 1. 创建 doc_definition 表主键自增序列 CREATE SEQUENCE doc_definition_id_seq START WITH 1 INCREMENT BY 1 NO MINVALUE NO MAXVALUE CACHE 1; -- 2. 创建文书定义表(doc_definition) CREATE TABLE "doc_definition" ( -- 主键ID "id" int8 NOT NULL DEFAULT nextval('doc_definition_id_seq'::regclass), -- 文书名称 "name" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying, -- 文书版本号 "version" varchar(50) COLLATE "pg_catalog"."default" DEFAULT ''::character varying, -- 文书类型(一级菜单)枚举值(允许NULL) "primary_menu_enum" int4, -- 文书类型(二级菜单) "sub_menu" varchar(100) COLLATE "pg_catalog"."default" DEFAULT ''::character varying, -- 文书业务编码 "bus_no" varchar(100) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying, -- Vue Router路径 "vue_router" varchar(100) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying, -- 所属医院ID "hospital_id" int8 NOT NULL, -- 显示顺序 "display_order" int4, -- 是否有效 0-有效 1-无效 "is_valid" int4, -- 使用范围枚举值(允许NULL) "use_range_enum" int4, -- 医生权限枚举值(允许NULL) "doctor_permission_enum" int4, -- 护士权限枚举值(允许NULL) "nursing_permission_enum" int4, -- 医技权限枚举值(允许NULL) "medical_permission_enum" int4, -- 药剂师权限枚举值(允许NULL) "pharmacist_permission_enum" int4, -- 通用审计字段 "tenant_id" int8 NOT NULL, "delete_flag" char(1) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '0', "create_by" varchar(32) COLLATE "pg_catalog"."default" NOT NULL DEFAULT ''::character varying, "create_time" timestamptz(6) NOT NULL, "update_by" varchar(32) COLLATE "pg_catalog"."default", "update_time" timestamptz(6), -- 主键约束 CONSTRAINT "doc_definition_pkey" PRIMARY KEY ("id") ); -- 3. 设置表所有者 ALTER TABLE "doc_definition" OWNER TO "postgres"; -- 4. 表和字段注释 COMMENT ON TABLE "doc_definition" IS '文书定义表:存储门诊病历、体温单、患者护理记录单等文书的定义信息'; COMMENT ON COLUMN "doc_definition"."id" IS 'ID'; COMMENT ON COLUMN "doc_definition"."name" IS '文书名称'; COMMENT ON COLUMN "doc_definition"."version" IS '文书的版本号'; COMMENT ON COLUMN "doc_definition"."primary_menu_enum" IS '文书类型(一级菜单),从枚举中获取 DocTypeEnum(允许NULL)'; COMMENT ON COLUMN "doc_definition"."sub_menu" IS '文书类型(二级菜单),自定义'; COMMENT ON COLUMN "doc_definition"."bus_no" IS '文书业务编码(busNo),在新建时由系统自动生成'; COMMENT ON COLUMN "doc_definition"."vue_router" IS 'Vue Router路径'; COMMENT ON COLUMN "doc_definition"."hospital_id" IS '所属医院ID'; COMMENT ON COLUMN "doc_definition"."display_order" IS '显示顺序'; COMMENT ON COLUMN "doc_definition"."is_valid" IS '是否有效 0-有效 1-无效'; COMMENT ON COLUMN "doc_definition"."use_range_enum" IS '使用范围:0-暂不使用 1-全院使用 2-指定科室使用(允许NULL)'; COMMENT ON COLUMN "doc_definition"."doctor_permission_enum" IS '医生权限:0-不限制 1-查看 2-编辑(允许NULL)'; COMMENT ON COLUMN "doc_definition"."nursing_permission_enum" IS '护士权限:0-不限制 1-查看 2-编辑(允许NULL)'; COMMENT ON COLUMN "doc_definition"."medical_permission_enum" IS '医技权限:0-不限制 1-查看 2-编辑(允许NULL)'; COMMENT ON COLUMN "doc_definition"."pharmacist_permission_enum" IS '药剂师权限:0-不限制 1-查看 2-编辑(允许NULL)'; COMMENT ON COLUMN "doc_definition"."tenant_id" IS '租户ID'; COMMENT ON COLUMN "doc_definition"."delete_flag" IS '删除状态:0-未删除,1-已删除'; COMMENT ON COLUMN "doc_definition"."create_by" IS '创建人'; COMMENT ON COLUMN "doc_definition"."create_time" IS '创建时间'; COMMENT ON COLUMN "doc_definition"."update_by" IS '更新人'; COMMENT ON COLUMN "doc_definition"."update_time" IS '更新时间'; -- 5. 索引设计 --CREATE INDEX "idx_doc_definition_tenant_hospital" ON "doc_definition" ("tenant_id", "hospital_id"); CREATE INDEX "idx_doc_definition_primary_menu" ON "doc_definition" ("primary_menu_enum"); CREATE INDEX "idx_doc_definition_display_order" ON "doc_definition" ("display_order"); -- 向迁移历史表插入记录 INSERT INTO __MigrationsHistory (MigrationId, ProductVersion) VALUES ('202508181333 doc_definition', '1.0.0');