-- 医生患者关系表创建SQL -- 执行方式:使用Navicat Premium或其他PostgreSQL客户端工具连接到数据库后执行 -- 步骤1:连接数据库 -- 主机:47.116.196.11 -- 端口:15432 -- 数据库:postgresql -- Schema:hisdev -- 用户名:postgresql -- 密码:Jchl1528 -- 步骤2:执行以下SQL语句 -- 先创建序列(重要:必须先创建序列,再创建表,否则会报错) CREATE SEQUENCE IF NOT EXISTS "adm_practitioner_patient_id_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- 再创建表 CREATE TABLE IF NOT EXISTS "adm_practitioner_patient" ( "id" int8 NOT NULL DEFAULT nextval('adm_practitioner_patient_id_seq'::regclass), "practitioner_id" int8 NOT NULL, "patient_id" int8 NOT NULL, "relationship_type" int4 NOT NULL, "organization_id" int8 NOT NULL, "start_date" timestamptz(6), "end_date" timestamptz(6), "status" int4 NOT NULL DEFAULT 1, "remark" varchar(500), "tenant_id" int4, "delete_flag" bpchar(1) DEFAULT '0'::bpchar NOT NULL, "create_by" varchar(32) DEFAULT ''::varchar NOT NULL, "create_time" timestamptz(6) NOT NULL, "update_by" varchar(32), "update_time" timestamptz(6), CONSTRAINT "adm_practitioner_patient_pkey" PRIMARY KEY ("id") ); -- 添加注释 COMMENT ON COLUMN "adm_practitioner_patient"."id" IS '主键ID'; COMMENT ON COLUMN "adm_practitioner_patient"."practitioner_id" IS '医生ID,关联adm_practitioner表'; COMMENT ON COLUMN "adm_practitioner_patient"."patient_id" IS '患者ID,关联adm_patient表'; COMMENT ON COLUMN "adm_practitioner_patient"."relationship_type" IS '关系类型:1-主治医生,2-签约医生,3-管床医生,4-家庭医生,5-会诊医生,6-随访医生'; COMMENT ON COLUMN "adm_practitioner_patient"."organization_id" IS '机构ID,关联adm_organization表'; COMMENT ON COLUMN "adm_practitioner_patient"."start_date" IS '关系开始时间'; COMMENT ON COLUMN "adm_practitioner_patient"."end_date" IS '关系结束时间'; COMMENT ON COLUMN "adm_practitioner_patient"."status" IS '状态:1-有效,0-无效'; COMMENT ON COLUMN "adm_practitioner_patient"."remark" IS '备注信息'; COMMENT ON COLUMN "adm_practitioner_patient"."tenant_id" IS '租户ID'; COMMENT ON COLUMN "adm_practitioner_patient"."delete_flag" IS '删除标志:0-未删除,1-已删除'; COMMENT ON COLUMN "adm_practitioner_patient"."create_by" IS '创建人'; COMMENT ON COLUMN "adm_practitioner_patient"."create_time" IS '创建时间'; COMMENT ON COLUMN "adm_practitioner_patient"."update_by" IS '更新人'; COMMENT ON COLUMN "adm_practitioner_patient"."update_time" IS '更新时间'; COMMENT ON TABLE "adm_practitioner_patient" IS '医生患者关系表'; -- 创建索引 CREATE INDEX IF NOT EXISTS "idx_practitioner_patient_practitioner_id" ON "adm_practitioner_patient" USING btree ("practitioner_id", "delete_flag"); CREATE INDEX IF NOT EXISTS "idx_practitioner_patient_patient_id" ON "adm_practitioner_patient" USING btree ("patient_id", "delete_flag"); CREATE INDEX IF NOT EXISTS "idx_practitioner_patient_org_id" ON "adm_practitioner_patient" USING btree ("organization_id", "delete_flag"); CREATE INDEX IF NOT EXISTS "idx_practitioner_patient_type" ON "adm_practitioner_patient" USING btree ("relationship_type", "delete_flag"); -- 插入迁移记录 INSERT INTO "__migrationshistory" ("version", "description") VALUES ('202601020000 add_table_adm_practitioner_patient', '1.0.0') ON CONFLICT DO NOTHING; -- 步骤3:验证表是否创建成功 -- 执行以下SQL查询 SELECT table_name, table_comment FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'adm_practitioner_patient'; -- 应该返回一条记录,显示表名和表注释