92 lines
4.5 KiB
SQL
92 lines
4.5 KiB
SQL
-- 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'); |