fix(db): 迁移链 squash 到 0_baseline(修复 c1_elder RENAME INDEX 早于表重命名导致的干净回放失败)
- 删除 15 个旧迁移,合并为单一 0_baseline(37 表,utf8mb4_general_ci) - 现有库 migrate resolve --applied 0_baseline,数据保留 - 干净回放验证通过(仅 Prisma 内部 _prisma_migrations 为 unicode_ci) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
292300c344
commit
29fc5e9432
759
prisma/migrations/0_baseline/migration.sql
Normal file
759
prisma/migrations/0_baseline/migration.sql
Normal file
@ -0,0 +1,759 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_tenant` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`code` VARCHAR(64) NOT NULL,
|
||||
`name` VARCHAR(128) NOT NULL,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`remark` VARCHAR(255) NULL,
|
||||
`brand_name` VARCHAR(64) NULL,
|
||||
`logo_url` VARCHAR(255) NULL,
|
||||
`theme_color` VARCHAR(16) NULL,
|
||||
`copyright` VARCHAR(255) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `sys_tenant_code_key`(`code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_user` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(64) NOT NULL,
|
||||
`password_hash` VARCHAR(255) NOT NULL,
|
||||
`nickname` VARCHAR(64) NULL,
|
||||
`email` VARCHAR(128) NULL,
|
||||
`phone` VARCHAR(32) NULL,
|
||||
`avatar` VARCHAR(255) NULL,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`token_version` INTEGER NOT NULL DEFAULT 0,
|
||||
`locked_at` DATETIME(3) NULL,
|
||||
`lock_reason` VARCHAR(255) NULL,
|
||||
`must_change_password` BOOLEAN NOT NULL DEFAULT false,
|
||||
`org_code` VARCHAR(64) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_user_tenant_code_idx`(`tenant_code`),
|
||||
INDEX `sys_user_org_code_idx`(`org_code`),
|
||||
UNIQUE INDEX `sys_user_tenant_code_username_key`(`tenant_code`, `username`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_role` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`code` VARCHAR(64) NOT NULL,
|
||||
`name` VARCHAR(64) NOT NULL,
|
||||
`data_scope` VARCHAR(16) NOT NULL DEFAULT 'all',
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`remark` VARCHAR(255) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_role_tenant_code_idx`(`tenant_code`),
|
||||
UNIQUE INDEX `sys_role_tenant_code_code_key`(`tenant_code`, `code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_resource` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`parent_code` VARCHAR(64) NULL,
|
||||
`type` VARCHAR(16) NOT NULL,
|
||||
`code` VARCHAR(128) NOT NULL,
|
||||
`name` VARCHAR(64) NOT NULL,
|
||||
`path` VARCHAR(255) NULL,
|
||||
`component` VARCHAR(255) NULL,
|
||||
`method` VARCHAR(8) NULL,
|
||||
`api_path` VARCHAR(255) NULL,
|
||||
`icon` VARCHAR(64) NULL,
|
||||
`sort` INTEGER NOT NULL DEFAULT 0,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_resource_tenant_code_idx`(`tenant_code`),
|
||||
INDEX `sys_resource_parent_code_idx`(`parent_code`),
|
||||
UNIQUE INDEX `sys_resource_tenant_code_code_key`(`tenant_code`, `code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_org` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`parent_code` VARCHAR(64) NULL,
|
||||
`code` VARCHAR(64) NOT NULL,
|
||||
`name` VARCHAR(64) NOT NULL,
|
||||
`leader` VARCHAR(64) NULL,
|
||||
`sort` INTEGER NOT NULL DEFAULT 0,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_org_tenant_code_idx`(`tenant_code`),
|
||||
INDEX `sys_org_parent_code_idx`(`parent_code`),
|
||||
UNIQUE INDEX `sys_org_tenant_code_code_key`(`tenant_code`, `code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_dict_type` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`code` VARCHAR(64) NOT NULL,
|
||||
`name` VARCHAR(64) NOT NULL,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`built_in` BOOLEAN NOT NULL DEFAULT false,
|
||||
`remark` VARCHAR(255) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_dict_type_tenant_code_idx`(`tenant_code`),
|
||||
UNIQUE INDEX `sys_dict_type_tenant_code_code_key`(`tenant_code`, `code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_dict_item` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`dict_type_code` VARCHAR(64) NOT NULL,
|
||||
`label` VARCHAR(64) NOT NULL,
|
||||
`value` VARCHAR(64) NOT NULL,
|
||||
`sort` INTEGER NOT NULL DEFAULT 0,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`built_in` BOOLEAN NOT NULL DEFAULT false,
|
||||
`color_type` VARCHAR(16) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_dict_item_tenant_code_dict_type_code_idx`(`tenant_code`, `dict_type_code`),
|
||||
UNIQUE INDEX `sys_dict_item_tenant_code_dict_type_code_value_key`(`tenant_code`, `dict_type_code`, `value`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_config` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`key` VARCHAR(128) NOT NULL,
|
||||
`value` TEXT NULL,
|
||||
`remark` VARCHAR(255) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
UNIQUE INDEX `sys_config_tenant_code_key_key`(`tenant_code`, `key`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_audit_log` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(36) NULL,
|
||||
`username` VARCHAR(64) NULL,
|
||||
`module` VARCHAR(64) NULL,
|
||||
`action` VARCHAR(64) NULL,
|
||||
`method` VARCHAR(8) NULL,
|
||||
`path` VARCHAR(255) NULL,
|
||||
`params` TEXT NULL,
|
||||
`result` TEXT NULL,
|
||||
`status` VARCHAR(16) NULL,
|
||||
`error_message` TEXT NULL,
|
||||
`ip` VARCHAR(64) NULL,
|
||||
`user_agent` VARCHAR(255) NULL,
|
||||
`duration_ms` INTEGER NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `sys_audit_log_tenant_code_created_at_idx`(`tenant_code`, `created_at`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_login_log` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(64) NULL,
|
||||
`ip` VARCHAR(64) NULL,
|
||||
`user_agent` VARCHAR(255) NULL,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'success',
|
||||
`message` VARCHAR(255) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `sys_login_log_tenant_code_created_at_idx`(`tenant_code`, `created_at`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_refresh_token` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(36) NOT NULL,
|
||||
`sid` VARCHAR(36) NULL,
|
||||
`jti` VARCHAR(64) NOT NULL,
|
||||
`token_hash` VARCHAR(255) NOT NULL,
|
||||
`ip` VARCHAR(64) NULL,
|
||||
`user_agent` VARCHAR(255) NULL,
|
||||
`login_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`expire_at` DATETIME(3) NOT NULL,
|
||||
`revoked_at` DATETIME(3) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
UNIQUE INDEX `sys_refresh_token_jti_key`(`jti`),
|
||||
INDEX `sys_refresh_token_tenant_code_user_id_idx`(`tenant_code`, `user_id`),
|
||||
INDEX `sys_refresh_token_sid_idx`(`sid`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_notice` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`title` VARCHAR(128) NOT NULL,
|
||||
`content` TEXT NOT NULL,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_notice_tenant_code_idx`(`tenant_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_notice_read` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`notice_id` VARCHAR(36) NOT NULL,
|
||||
`user_id` VARCHAR(36) NOT NULL,
|
||||
`read_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `sys_notice_read_tenant_code_user_id_idx`(`tenant_code`, `user_id`),
|
||||
UNIQUE INDEX `sys_notice_read_tenant_code_notice_id_user_id_key`(`tenant_code`, `notice_id`, `user_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_user_role` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(36) NOT NULL,
|
||||
`role_code` VARCHAR(64) NOT NULL,
|
||||
|
||||
INDEX `sys_user_role_tenant_code_user_id_idx`(`tenant_code`, `user_id`),
|
||||
UNIQUE INDEX `sys_user_role_tenant_code_user_id_role_code_key`(`tenant_code`, `user_id`, `role_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_role_resource` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`role_code` VARCHAR(64) NOT NULL,
|
||||
`resource_code` VARCHAR(128) NOT NULL,
|
||||
|
||||
INDEX `sys_role_resource_tenant_code_role_code_idx`(`tenant_code`, `role_code`),
|
||||
UNIQUE INDEX `sys_role_resource_tenant_code_role_code_resource_code_key`(`tenant_code`, `role_code`, `resource_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_role_org` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`role_code` VARCHAR(64) NOT NULL,
|
||||
`org_code` VARCHAR(64) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `sys_role_org_tenant_code_role_code_org_code_key`(`tenant_code`, `role_code`, `org_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ltc_agency` (
|
||||
`code` VARCHAR(64) NOT NULL,
|
||||
`org_name` VARCHAR(100) NOT NULL,
|
||||
`org_type` VARCHAR(20) NOT NULL,
|
||||
`credit_code` VARCHAR(18) NOT NULL,
|
||||
`loc_code` VARCHAR(12) NOT NULL,
|
||||
`loc_name` VARCHAR(50) NOT NULL,
|
||||
`svc_source` VARCHAR(10) NOT NULL,
|
||||
`license_no` VARCHAR(50) NULL,
|
||||
`address` VARCHAR(200) NOT NULL,
|
||||
`contact_name` VARCHAR(30) NOT NULL,
|
||||
`contact_phone` VARCHAR(15) NOT NULL,
|
||||
`bed_count` INTEGER NULL,
|
||||
`sign_date` DATE NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
`qc_threshold` INTEGER NOT NULL DEFAULT 24,
|
||||
`docking_tier` VARCHAR(10) NOT NULL DEFAULT 'B',
|
||||
`new_national_notify` BOOLEAN NOT NULL DEFAULT true,
|
||||
|
||||
PRIMARY KEY (`code`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ltc_staff` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(36) NULL,
|
||||
`name` VARCHAR(30) NOT NULL,
|
||||
`id_card_no` VARCHAR(255) NOT NULL,
|
||||
`person_code` VARCHAR(20) NULL,
|
||||
`phone` VARCHAR(15) NOT NULL,
|
||||
`job_type` VARCHAR(20) NOT NULL,
|
||||
`work_type` VARCHAR(10) NOT NULL,
|
||||
`entry_date` DATE NULL,
|
||||
`leave_date` DATE NULL,
|
||||
`employ_status` VARCHAR(10) NOT NULL,
|
||||
`cert_type` VARCHAR(20) NULL,
|
||||
`cert_no` VARCHAR(50) NULL,
|
||||
`cert_level` VARCHAR(20) NULL,
|
||||
`cert_expire` DATE NULL,
|
||||
`cert_status` VARCHAR(20) NULL,
|
||||
`cert_verify_url` VARCHAR(200) NULL,
|
||||
`group_leader_id` VARCHAR(36) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
UNIQUE INDEX `ltc_staff_user_id_key`(`user_id`),
|
||||
INDEX `ltc_staff_tenant_code_name_idx`(`tenant_code`, `name`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `svc_national` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`nat_code` VARCHAR(20) NOT NULL,
|
||||
`nat_name` VARCHAR(100) NOT NULL,
|
||||
`nat_category` VARCHAR(20) NOT NULL,
|
||||
`nat_sub_category` VARCHAR(50) NULL,
|
||||
`recommend_staff` VARCHAR(50) NULL,
|
||||
`recommend_duration` VARCHAR(50) NULL,
|
||||
`is_medical` BOOLEAN NOT NULL DEFAULT false,
|
||||
`version` INTEGER NOT NULL DEFAULT 1,
|
||||
|
||||
UNIQUE INDEX `svc_national_nat_code_key`(`nat_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `svc_local` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`loc_code` VARCHAR(12) NOT NULL,
|
||||
`local_item_name` VARCHAR(100) NOT NULL,
|
||||
`local_category` VARCHAR(20) NULL,
|
||||
`svc_time` VARCHAR(50) NULL,
|
||||
`min_freq` VARCHAR(50) NULL,
|
||||
`staff_qual` VARCHAR(50) NULL,
|
||||
`is_medical` BOOLEAN NOT NULL DEFAULT false,
|
||||
`source_doc` VARCHAR(200) NULL,
|
||||
`map_status` VARCHAR(20) NOT NULL DEFAULT 'mapped',
|
||||
|
||||
INDEX `svc_local_loc_code_idx`(`loc_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `svc_mapping` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`loc_id` VARCHAR(36) NOT NULL,
|
||||
`nat_id` VARCHAR(36) NULL,
|
||||
`map_type` VARCHAR(20) NOT NULL,
|
||||
`map_note` VARCHAR(200) NULL,
|
||||
`status` VARCHAR(20) NOT NULL DEFAULT 'confirmed',
|
||||
|
||||
INDEX `svc_mapping_loc_id_idx`(`loc_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `svc_org` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`src_type` VARCHAR(10) NOT NULL,
|
||||
`src_id` VARCHAR(36) NOT NULL,
|
||||
`is_enabled` BOOLEAN NOT NULL DEFAULT true,
|
||||
`price` VARCHAR(50) NULL,
|
||||
`price_effective` DATETIME(3) NULL,
|
||||
`is_new_national` BOOLEAN NOT NULL DEFAULT false,
|
||||
`photo_tier` VARCHAR(10) NOT NULL DEFAULT 'free',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `svc_org_tenant_code_src_type_idx`(`tenant_code`, `src_type`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `loc_config` (
|
||||
`loc_code` VARCHAR(12) NOT NULL,
|
||||
`loc_name` VARCHAR(50) NOT NULL,
|
||||
`svc_source` VARCHAR(10) NOT NULL,
|
||||
`item_count_rule` VARCHAR(100) NULL,
|
||||
|
||||
PRIMARY KEY (`loc_code`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ltc_elder` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`loc_code` VARCHAR(12) NOT NULL,
|
||||
`prev_loc_code` VARCHAR(12) NULL,
|
||||
`transfer_confirm_at` DATETIME(3) NULL,
|
||||
`name` VARCHAR(30) NOT NULL,
|
||||
`gender` CHAR(1) NOT NULL,
|
||||
`birth_date` DATE NOT NULL,
|
||||
`id_card_no` VARCHAR(255) NOT NULL,
|
||||
`phone` VARCHAR(15) NULL,
|
||||
`address` VARCHAR(200) NOT NULL,
|
||||
`guardian_name` VARCHAR(30) NULL,
|
||||
`guardian_phone` VARCHAR(15) NULL,
|
||||
`insur_no` VARCHAR(30) NOT NULL,
|
||||
`insur_type` VARCHAR(10) NOT NULL,
|
||||
`insur_years` INTEGER NULL,
|
||||
`insur_verify_status` VARCHAR(20) NULL,
|
||||
`insur_verify_date` DATE NULL,
|
||||
`assess_level` VARCHAR(20) NULL,
|
||||
`care_level` VARCHAR(20) NULL,
|
||||
`assess_date` DATE NULL,
|
||||
`assess_org` VARCHAR(100) NULL,
|
||||
`assess_evidence_file` VARCHAR(255) NULL,
|
||||
`benefit_start` DATE NULL,
|
||||
`benefit_end` DATE NULL,
|
||||
`treat_status` VARCHAR(20) NOT NULL DEFAULT 'pending_file',
|
||||
`status_source` VARCHAR(10) NOT NULL DEFAULT 'manual',
|
||||
`status_change_date` DATE NULL,
|
||||
`hosp_start` DATE NULL,
|
||||
`hosp_end` DATE NULL,
|
||||
`photo_tier_override` JSON NULL,
|
||||
`need_assess` JSON NULL,
|
||||
`note` TEXT NULL,
|
||||
`biz_line` VARCHAR(20) NOT NULL DEFAULT 'ltci',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `ltc_elder_tenant_code_name_idx`(`tenant_code`, `name`),
|
||||
UNIQUE INDEX `ltc_elder_tenant_code_id_card_no_key`(`tenant_code`, `id_card_no`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ltc_elder_status_log` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`elder_id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`from_status` VARCHAR(20) NOT NULL,
|
||||
`to_status` VARCHAR(20) NOT NULL,
|
||||
`change_reason` VARCHAR(200) NOT NULL,
|
||||
`source` VARCHAR(10) NOT NULL DEFAULT 'manual',
|
||||
`operator_id` VARCHAR(36) NOT NULL,
|
||||
`evidence_file` VARCHAR(255) NULL,
|
||||
`changed_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `ltc_elder_status_log_elder_id_idx`(`elder_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `svc_plan` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`elder_id` VARCHAR(36) NOT NULL,
|
||||
`plan_period_start` DATE NOT NULL,
|
||||
`plan_period_end` DATE NOT NULL,
|
||||
`care_level` VARCHAR(20) NOT NULL,
|
||||
`care_mode` VARCHAR(20) NOT NULL,
|
||||
`item_count` INTEGER NOT NULL DEFAULT 0,
|
||||
`item_count_rule` VARCHAR(100) NULL,
|
||||
`extra_item_count` INTEGER NOT NULL DEFAULT 0,
|
||||
`week_freq` INTEGER NULL,
|
||||
`month_hours` INTEGER NULL,
|
||||
`plan_status` VARCHAR(20) NOT NULL DEFAULT 'draft',
|
||||
`confirm_elder` BOOLEAN NOT NULL DEFAULT false,
|
||||
`confirm_guardian` BOOLEAN NOT NULL DEFAULT false,
|
||||
`confirm_time` DATETIME(3) NULL,
|
||||
`plan_basis` JSON NULL,
|
||||
`change_from_plan_id` VARCHAR(36) NULL,
|
||||
`biz_line` VARCHAR(20) NOT NULL DEFAULT 'ltci',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `svc_plan_tenant_code_elder_id_idx`(`tenant_code`, `elder_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `svc_plan_item` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`plan_id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`svc_id` VARCHAR(36) NOT NULL,
|
||||
`svc_name_snapshot` VARCHAR(100) NOT NULL,
|
||||
`svc_code_snapshot` VARCHAR(20) NULL,
|
||||
`freq_type` VARCHAR(20) NULL,
|
||||
`freq_value` INTEGER NULL,
|
||||
`duration_min` INTEGER NULL,
|
||||
`photo_tier` VARCHAR(10) NOT NULL DEFAULT 'free',
|
||||
`caution_note` TEXT NULL,
|
||||
`is_medical` BOOLEAN NOT NULL DEFAULT false,
|
||||
`need_cert` BOOLEAN NOT NULL DEFAULT false,
|
||||
|
||||
INDEX `svc_plan_item_plan_id_idx`(`plan_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `svc_order` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`elder_id` VARCHAR(36) NOT NULL,
|
||||
`plan_id` VARCHAR(36) NOT NULL,
|
||||
`service_date` DATE NOT NULL,
|
||||
`time_slot_start` DATETIME(3) NOT NULL,
|
||||
`time_slot_end` DATETIME(3) NOT NULL,
|
||||
`assignee_id` VARCHAR(36) NULL,
|
||||
`assign_time` DATETIME(3) NULL,
|
||||
`assign_mode` VARCHAR(20) NULL,
|
||||
`order_status` VARCHAR(20) NOT NULL DEFAULT 'to_assign',
|
||||
`item_list` JSON NOT NULL,
|
||||
`need_photo` BOOLEAN NOT NULL DEFAULT false,
|
||||
`cancel_reason` VARCHAR(200) NULL,
|
||||
`reschedule_log` JSON NULL,
|
||||
`qualification_check` VARCHAR(20) NULL,
|
||||
`billable` BOOLEAN NOT NULL DEFAULT true,
|
||||
`price_snapshot` JSON NULL,
|
||||
`settle_period` VARCHAR(20) NULL,
|
||||
`not_met_reason` VARCHAR(50) NULL,
|
||||
`not_met_at` DATETIME(3) NULL,
|
||||
`biz_line` VARCHAR(20) NOT NULL DEFAULT 'ltci',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `svc_order_tenant_code_assignee_id_service_date_idx`(`tenant_code`, `assignee_id`, `service_date`),
|
||||
INDEX `svc_order_tenant_code_elder_id_idx`(`tenant_code`, `elder_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ltc_elder_svc` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`elder_id` VARCHAR(36) NOT NULL,
|
||||
`svc_id` VARCHAR(36) NOT NULL,
|
||||
`svc_name_snapshot` VARCHAR(100) NOT NULL,
|
||||
`svc_code_snapshot` VARCHAR(20) NULL,
|
||||
`care_mode` VARCHAR(20) NOT NULL,
|
||||
`is_active` BOOLEAN NOT NULL DEFAULT true,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `ltc_elder_svc_tenant_code_elder_id_idx`(`tenant_code`, `elder_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ho_record` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`order_id` VARCHAR(36) NOT NULL,
|
||||
`elder_id` VARCHAR(36) NOT NULL,
|
||||
`assignee_id` VARCHAR(36) NOT NULL,
|
||||
`checkin_time` DATETIME(3) NULL,
|
||||
`checkout_time` DATETIME(3) NULL,
|
||||
`duration_min` INTEGER NULL,
|
||||
`checkin_lat` DECIMAL(10, 6) NULL,
|
||||
`checkin_lng` DECIMAL(10, 6) NULL,
|
||||
`locate_status` VARCHAR(20) NOT NULL DEFAULT 'ok',
|
||||
`record_status` VARCHAR(20) NOT NULL DEFAULT 'serving',
|
||||
`voice_file` VARCHAR(200) NULL,
|
||||
`offline_flag` BOOLEAN NOT NULL DEFAULT false,
|
||||
`client_md5` VARCHAR(32) NULL,
|
||||
`submit_time` DATETIME(3) NULL,
|
||||
`actual_duration_tier` VARCHAR(10) NULL,
|
||||
`biz_line` VARCHAR(20) NOT NULL DEFAULT 'ltci',
|
||||
`is_prepaid` BOOLEAN NOT NULL DEFAULT false,
|
||||
`billable` BOOLEAN NOT NULL DEFAULT true,
|
||||
`source_prepaid_of` VARCHAR(36) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `ho_record_tenant_code_order_id_idx`(`tenant_code`, `order_id`),
|
||||
INDEX `ho_record_tenant_code_elder_id_idx`(`tenant_code`, `elder_id`),
|
||||
INDEX `ho_record_tenant_code_assignee_id_checkin_time_idx`(`tenant_code`, `assignee_id`, `checkin_time`),
|
||||
UNIQUE INDEX `ho_record_tenant_code_client_md5_key`(`tenant_code`, `client_md5`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ho_record_item` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`record_id` VARCHAR(36) NOT NULL,
|
||||
`svc_id` VARCHAR(36) NOT NULL,
|
||||
`svc_name_snapshot` VARCHAR(100) NOT NULL,
|
||||
`exec_result` VARCHAR(20) NOT NULL,
|
||||
`undo_reason` VARCHAR(200) NULL,
|
||||
`extra_flag` BOOLEAN NOT NULL DEFAULT false,
|
||||
`photo_required` BOOLEAN NOT NULL DEFAULT false,
|
||||
`is_refused_photo` BOOLEAN NOT NULL DEFAULT false,
|
||||
`refuse_reason` VARCHAR(200) NULL,
|
||||
|
||||
INDEX `ho_record_item_record_id_idx`(`record_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ho_record_photo` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`record_id` VARCHAR(36) NOT NULL,
|
||||
`svc_id` VARCHAR(36) NULL,
|
||||
`file_path` VARCHAR(255) NOT NULL,
|
||||
`file_size` INTEGER NOT NULL,
|
||||
`visible_to_family` BOOLEAN NOT NULL DEFAULT false,
|
||||
`upload_batch` VARCHAR(36) NULL,
|
||||
`keep_until` DATETIME(3) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `ho_record_photo_record_id_idx`(`record_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ho_record_abnormal` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`record_id` VARCHAR(36) NULL,
|
||||
`order_id` VARCHAR(36) NULL,
|
||||
`elder_id` VARCHAR(36) NOT NULL,
|
||||
`reporter_id` VARCHAR(36) NOT NULL,
|
||||
`abnormal_type` VARCHAR(20) NOT NULL,
|
||||
`abnormal_desc` TEXT NULL,
|
||||
`voice_file` VARCHAR(200) NULL,
|
||||
`has_photo` BOOLEAN NOT NULL DEFAULT false,
|
||||
`visit_time` DATETIME(3) NULL,
|
||||
`visit_lat` DECIMAL(10, 6) NULL,
|
||||
`visit_lng` DECIMAL(10, 6) NULL,
|
||||
`notify_status` VARCHAR(20) NOT NULL DEFAULT 'pending',
|
||||
`handle_status` VARCHAR(20) NOT NULL DEFAULT 'open',
|
||||
`handle_result` VARCHAR(200) NULL,
|
||||
`link_plan_change` BOOLEAN NOT NULL DEFAULT false,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
|
||||
INDEX `ho_record_abnormal_tenant_code_elder_id_idx`(`tenant_code`, `elder_id`),
|
||||
INDEX `ho_record_abnormal_tenant_code_notify_status_idx`(`tenant_code`, `notify_status`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `settlement` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`settle_period` VARCHAR(20) NOT NULL,
|
||||
`amount_total` DECIMAL(12, 2) NULL,
|
||||
`amount_passed` DECIMAL(12, 2) NULL,
|
||||
`amount_rejected` DECIMAL(12, 2) NULL,
|
||||
`amount_fund` DECIMAL(12, 2) NULL,
|
||||
`amount_self_pay` DECIMAL(12, 2) NULL,
|
||||
`submit_date` DATE NULL,
|
||||
`pay_date` DATE NULL,
|
||||
`exception_reason` VARCHAR(200) NULL,
|
||||
`handle_deadline` DATE NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `report` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`record_id` VARCHAR(36) NOT NULL,
|
||||
`order_id` VARCHAR(36) NOT NULL,
|
||||
`report_status` VARCHAR(20) NOT NULL DEFAULT 'pending',
|
||||
`report_time` DATETIME(3) NULL,
|
||||
`official_no` VARCHAR(50) NULL,
|
||||
`loc_code` VARCHAR(12) NOT NULL,
|
||||
`nat_code_snapshot` JSON NULL,
|
||||
`adapter_result` VARCHAR(200) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `qc` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`record_id` VARCHAR(36) NOT NULL,
|
||||
`qc_type` VARCHAR(20) NOT NULL DEFAULT 'normal',
|
||||
`qc_result` VARCHAR(20) NOT NULL DEFAULT 'pending',
|
||||
`qc_note` VARCHAR(200) NULL,
|
||||
`qc_staff_id` VARCHAR(36) NULL,
|
||||
`qc_time` DATETIME(3) NULL,
|
||||
`pass_time` DATETIME(3) NULL,
|
||||
`first_qc_id` VARCHAR(36) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `qc_tenant_code_record_id_idx`(`tenant_code`, `record_id`),
|
||||
INDEX `qc_tenant_code_qc_result_idx`(`tenant_code`, `qc_result`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ho_record_correction` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`record_id` VARCHAR(36) NOT NULL,
|
||||
`qc_id` VARCHAR(36) NULL,
|
||||
`correction_note` VARCHAR(200) NOT NULL,
|
||||
`corrected_by` VARCHAR(36) NOT NULL,
|
||||
`corrected_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `ho_record_correction_record_id_idx`(`record_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
@ -1,247 +0,0 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_tenant` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`code` VARCHAR(64) NOT NULL,
|
||||
`name` VARCHAR(128) NOT NULL,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`remark` VARCHAR(255) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `sys_tenant_code_key`(`code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_user` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(64) NOT NULL,
|
||||
`password_hash` VARCHAR(255) NOT NULL,
|
||||
`nickname` VARCHAR(64) NULL,
|
||||
`email` VARCHAR(128) NULL,
|
||||
`phone` VARCHAR(32) NULL,
|
||||
`avatar` VARCHAR(255) NULL,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`org_code` VARCHAR(64) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_user_tenant_code_idx`(`tenant_code`),
|
||||
INDEX `sys_user_org_code_idx`(`org_code`),
|
||||
UNIQUE INDEX `sys_user_tenant_code_username_key`(`tenant_code`, `username`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_role` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`code` VARCHAR(64) NOT NULL,
|
||||
`name` VARCHAR(64) NOT NULL,
|
||||
`data_scope` VARCHAR(16) NOT NULL DEFAULT 'all',
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`remark` VARCHAR(255) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_role_tenant_code_idx`(`tenant_code`),
|
||||
UNIQUE INDEX `sys_role_tenant_code_code_key`(`tenant_code`, `code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_resource` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`parent_code` VARCHAR(64) NULL,
|
||||
`type` VARCHAR(16) NOT NULL,
|
||||
`code` VARCHAR(128) NOT NULL,
|
||||
`name` VARCHAR(64) NOT NULL,
|
||||
`path` VARCHAR(255) NULL,
|
||||
`component` VARCHAR(255) NULL,
|
||||
`method` VARCHAR(8) NULL,
|
||||
`api_path` VARCHAR(255) NULL,
|
||||
`icon` VARCHAR(64) NULL,
|
||||
`sort` INTEGER NOT NULL DEFAULT 0,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_resource_tenant_code_idx`(`tenant_code`),
|
||||
INDEX `sys_resource_parent_code_idx`(`parent_code`),
|
||||
UNIQUE INDEX `sys_resource_tenant_code_code_key`(`tenant_code`, `code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_org` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`parent_code` VARCHAR(64) NULL,
|
||||
`code` VARCHAR(64) NOT NULL,
|
||||
`name` VARCHAR(64) NOT NULL,
|
||||
`leader` VARCHAR(64) NULL,
|
||||
`sort` INTEGER NOT NULL DEFAULT 0,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_org_tenant_code_idx`(`tenant_code`),
|
||||
INDEX `sys_org_parent_code_idx`(`parent_code`),
|
||||
UNIQUE INDEX `sys_org_tenant_code_code_key`(`tenant_code`, `code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_dict_type` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`code` VARCHAR(64) NOT NULL,
|
||||
`name` VARCHAR(64) NOT NULL,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`remark` VARCHAR(255) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_dict_type_tenant_code_idx`(`tenant_code`),
|
||||
UNIQUE INDEX `sys_dict_type_tenant_code_code_key`(`tenant_code`, `code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_dict_item` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`dict_type_code` VARCHAR(64) NOT NULL,
|
||||
`label` VARCHAR(64) NOT NULL,
|
||||
`value` VARCHAR(64) NOT NULL,
|
||||
`sort` INTEGER NOT NULL DEFAULT 0,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_dict_item_tenant_code_dict_type_code_idx`(`tenant_code`, `dict_type_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_config` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`key` VARCHAR(128) NOT NULL,
|
||||
`value` TEXT NULL,
|
||||
`remark` VARCHAR(255) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
UNIQUE INDEX `sys_config_tenant_code_key_key`(`tenant_code`, `key`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_audit_log` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(36) NULL,
|
||||
`username` VARCHAR(64) NULL,
|
||||
`module` VARCHAR(64) NULL,
|
||||
`action` VARCHAR(64) NULL,
|
||||
`method` VARCHAR(8) NULL,
|
||||
`path` VARCHAR(255) NULL,
|
||||
`params` TEXT NULL,
|
||||
`result` TEXT NULL,
|
||||
`status` VARCHAR(16) NULL,
|
||||
`error_message` TEXT NULL,
|
||||
`ip` VARCHAR(64) NULL,
|
||||
`user_agent` VARCHAR(255) NULL,
|
||||
`duration_ms` INTEGER NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `sys_audit_log_tenant_code_created_at_idx`(`tenant_code`, `created_at`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_login_log` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`username` VARCHAR(64) NULL,
|
||||
`ip` VARCHAR(64) NULL,
|
||||
`user_agent` VARCHAR(255) NULL,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'success',
|
||||
`message` VARCHAR(255) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `sys_login_log_tenant_code_created_at_idx`(`tenant_code`, `created_at`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_refresh_token` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(36) NOT NULL,
|
||||
`jti` VARCHAR(64) NOT NULL,
|
||||
`token_hash` VARCHAR(255) NOT NULL,
|
||||
`ip` VARCHAR(64) NULL,
|
||||
`user_agent` VARCHAR(255) NULL,
|
||||
`login_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`expire_at` DATETIME(3) NOT NULL,
|
||||
`revoked_at` DATETIME(3) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
UNIQUE INDEX `sys_refresh_token_jti_key`(`jti`),
|
||||
INDEX `sys_refresh_token_tenant_code_user_id_idx`(`tenant_code`, `user_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_user_role` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(36) NOT NULL,
|
||||
`role_code` VARCHAR(64) NOT NULL,
|
||||
|
||||
INDEX `sys_user_role_tenant_code_user_id_idx`(`tenant_code`, `user_id`),
|
||||
UNIQUE INDEX `sys_user_role_tenant_code_user_id_role_code_key`(`tenant_code`, `user_id`, `role_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_role_resource` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`role_code` VARCHAR(64) NOT NULL,
|
||||
`resource_code` VARCHAR(128) NOT NULL,
|
||||
|
||||
INDEX `sys_role_resource_tenant_code_role_code_idx`(`tenant_code`, `role_code`),
|
||||
UNIQUE INDEX `sys_role_resource_tenant_code_role_code_resource_code_key`(`tenant_code`, `role_code`, `resource_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_role_org` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`role_code` VARCHAR(64) NOT NULL,
|
||||
`org_code` VARCHAR(64) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `sys_role_org_tenant_code_role_code_org_code_key`(`tenant_code`, `role_code`, `org_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
@ -1,9 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `sys_refresh_token` ADD COLUMN `sid` VARCHAR(36) NULL;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `sys_user` ADD COLUMN `lock_reason` VARCHAR(255) NULL,
|
||||
ADD COLUMN `locked_at` DATETIME(3) NULL;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE INDEX `sys_refresh_token_sid_idx` ON `sys_refresh_token`(`sid`);
|
||||
@ -1,2 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `sys_user` ADD COLUMN `must_change_password` BOOLEAN NOT NULL DEFAULT false;
|
||||
@ -1,9 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `sys_dict_item` ADD COLUMN `built_in` BOOLEAN NOT NULL DEFAULT false,
|
||||
ADD COLUMN `color_type` VARCHAR(16) NULL;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `sys_dict_type` ADD COLUMN `built_in` BOOLEAN NOT NULL DEFAULT false;
|
||||
|
||||
-- CreateIndex
|
||||
CREATE UNIQUE INDEX `sys_dict_item_tenant_code_dict_type_code_value_key` ON `sys_dict_item`(`tenant_code`, `dict_type_code`, `value`);
|
||||
@ -1,28 +0,0 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_notice` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`title` VARCHAR(128) NOT NULL,
|
||||
`content` TEXT NOT NULL,
|
||||
`status` VARCHAR(16) NOT NULL DEFAULT 'enabled',
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_notice_tenant_code_idx`(`tenant_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_notice_read` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`notice_id` VARCHAR(36) NOT NULL,
|
||||
`user_id` VARCHAR(36) NOT NULL,
|
||||
`read_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `sys_notice_read_tenant_code_user_id_idx`(`tenant_code`, `user_id`),
|
||||
UNIQUE INDEX `sys_notice_read_tenant_code_notice_id_user_id_key`(`tenant_code`, `notice_id`, `user_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
||||
@ -1,5 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `sys_tenant` ADD COLUMN `brand_name` VARCHAR(64) NULL,
|
||||
ADD COLUMN `copyright` VARCHAR(255) NULL,
|
||||
ADD COLUMN `logo_url` VARCHAR(255) NULL,
|
||||
ADD COLUMN `theme_color` VARCHAR(16) NULL;
|
||||
@ -1,2 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `sys_user` ADD COLUMN `token_version` INT NOT NULL DEFAULT 0;
|
||||
@ -1,150 +0,0 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_agency` (
|
||||
`code` VARCHAR(64) NOT NULL,
|
||||
`org_name` VARCHAR(100) NOT NULL,
|
||||
`org_type` VARCHAR(20) NOT NULL,
|
||||
`credit_code` VARCHAR(18) NOT NULL,
|
||||
`loc_code` VARCHAR(12) NOT NULL,
|
||||
`loc_name` VARCHAR(50) NOT NULL,
|
||||
`svc_source` VARCHAR(10) NOT NULL,
|
||||
`license_no` VARCHAR(50) NULL,
|
||||
`address` VARCHAR(200) NOT NULL,
|
||||
`contact_name` VARCHAR(30) NOT NULL,
|
||||
`contact_phone` VARCHAR(15) NOT NULL,
|
||||
`bed_count` INTEGER NULL,
|
||||
`sign_date` DATE NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
PRIMARY KEY (`code`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_staff` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`user_id` VARCHAR(36) NULL,
|
||||
`name` VARCHAR(30) NOT NULL,
|
||||
`id_card_no` VARCHAR(255) NOT NULL,
|
||||
`person_code` VARCHAR(20) NULL,
|
||||
`phone` VARCHAR(15) NOT NULL,
|
||||
`job_type` VARCHAR(20) NOT NULL,
|
||||
`work_type` VARCHAR(10) NOT NULL,
|
||||
`entry_date` DATE NULL,
|
||||
`leave_date` DATE NULL,
|
||||
`employ_status` VARCHAR(10) NOT NULL,
|
||||
`cert_type` VARCHAR(20) NULL,
|
||||
`cert_no` VARCHAR(50) NULL,
|
||||
`cert_level` VARCHAR(20) NULL,
|
||||
`cert_expire` DATE NULL,
|
||||
`cert_status` VARCHAR(20) NULL,
|
||||
`cert_verify_url` VARCHAR(200) NULL,
|
||||
`group_leader_id` VARCHAR(36) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
UNIQUE INDEX `sys_staff_user_id_key`(`user_id`),
|
||||
INDEX `sys_staff_tenant_code_name_idx`(`tenant_code`, `name`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_svc_national` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`nat_code` VARCHAR(20) NOT NULL,
|
||||
`nat_name` VARCHAR(100) NOT NULL,
|
||||
`nat_category` VARCHAR(20) NOT NULL,
|
||||
`nat_sub_category` VARCHAR(50) NULL,
|
||||
`recommend_staff` VARCHAR(50) NULL,
|
||||
`recommend_duration` VARCHAR(50) NULL,
|
||||
`is_medical` BOOLEAN NOT NULL DEFAULT false,
|
||||
`version` INTEGER NOT NULL DEFAULT 1,
|
||||
|
||||
UNIQUE INDEX `sys_svc_national_nat_code_key`(`nat_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_svc_local` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`loc_code` VARCHAR(12) NOT NULL,
|
||||
`local_item_name` VARCHAR(100) NOT NULL,
|
||||
`local_category` VARCHAR(20) NULL,
|
||||
`svc_time` VARCHAR(50) NULL,
|
||||
`min_freq` VARCHAR(50) NULL,
|
||||
`staff_qual` VARCHAR(50) NULL,
|
||||
`is_medical` BOOLEAN NOT NULL DEFAULT false,
|
||||
`source_doc` VARCHAR(200) NULL,
|
||||
`map_status` VARCHAR(20) NOT NULL DEFAULT 'mapped',
|
||||
|
||||
INDEX `sys_svc_local_loc_code_idx`(`loc_code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_svc_mapping` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`loc_id` VARCHAR(36) NOT NULL,
|
||||
`nat_id` VARCHAR(36) NULL,
|
||||
`map_type` VARCHAR(20) NOT NULL,
|
||||
`map_note` VARCHAR(200) NULL,
|
||||
`status` VARCHAR(20) NOT NULL DEFAULT 'confirmed',
|
||||
|
||||
INDEX `sys_svc_mapping_loc_id_idx`(`loc_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_svc_org` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`src_type` VARCHAR(10) NOT NULL,
|
||||
`src_id` VARCHAR(36) NOT NULL,
|
||||
`is_enabled` BOOLEAN NOT NULL DEFAULT true,
|
||||
`price` VARCHAR(50) NULL,
|
||||
`price_effective` DATETIME(3) NULL,
|
||||
`is_new_national` BOOLEAN NOT NULL DEFAULT false,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `sys_svc_org_tenant_code_src_type_idx`(`tenant_code`, `src_type`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_dict_abnormal_type` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`code` VARCHAR(50) NOT NULL,
|
||||
`name` VARCHAR(50) NOT NULL,
|
||||
`sort` INTEGER NOT NULL DEFAULT 0,
|
||||
|
||||
UNIQUE INDEX `sys_dict_abnormal_type_code_key`(`code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_dict_photo_tier` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`code` VARCHAR(20) NOT NULL,
|
||||
`name` VARCHAR(50) NOT NULL,
|
||||
`tier` VARCHAR(10) NOT NULL,
|
||||
|
||||
UNIQUE INDEX `sys_dict_photo_tier_code_key`(`code`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `sys_loc_config` (
|
||||
`loc_code` VARCHAR(12) NOT NULL,
|
||||
`loc_name` VARCHAR(50) NOT NULL,
|
||||
`svc_source` VARCHAR(10) NOT NULL,
|
||||
`item_count_rule` VARCHAR(100) NULL,
|
||||
|
||||
PRIMARY KEY (`loc_code`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
@ -1,80 +0,0 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `ltc_elder` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`loc_code` VARCHAR(12) NOT NULL,
|
||||
`prev_loc_code` VARCHAR(12) NULL,
|
||||
`transfer_confirm_at` DATETIME(3) NULL,
|
||||
`name` VARCHAR(30) NOT NULL,
|
||||
`gender` CHAR(1) NOT NULL,
|
||||
`birth_date` DATE NOT NULL,
|
||||
`id_card_no` VARCHAR(255) NOT NULL,
|
||||
`phone` VARCHAR(15) NULL,
|
||||
`address` VARCHAR(200) NOT NULL,
|
||||
`guardian_name` VARCHAR(30) NULL,
|
||||
`guardian_phone` VARCHAR(15) NULL,
|
||||
`insur_no` VARCHAR(30) NOT NULL,
|
||||
`insur_type` VARCHAR(10) NOT NULL,
|
||||
`insur_years` INTEGER NULL,
|
||||
`insur_verify_status` VARCHAR(20) NULL,
|
||||
`insur_verify_date` DATE NULL,
|
||||
`assess_level` VARCHAR(20) NULL,
|
||||
`care_level` VARCHAR(20) NULL,
|
||||
`assess_date` DATE NULL,
|
||||
`assess_org` VARCHAR(100) NULL,
|
||||
`assess_evidence_file` VARCHAR(255) NULL,
|
||||
`benefit_start` DATE NULL,
|
||||
`benefit_end` DATE NULL,
|
||||
`treat_status` VARCHAR(20) NOT NULL DEFAULT 'pending_file',
|
||||
`status_source` VARCHAR(10) NOT NULL DEFAULT 'manual',
|
||||
`status_change_date` DATE NULL,
|
||||
`hosp_start` DATE NULL,
|
||||
`hosp_end` DATE NULL,
|
||||
`photo_tier_override` JSON NULL,
|
||||
`need_assess` JSON NULL,
|
||||
`note` TEXT NULL,
|
||||
`biz_line` VARCHAR(20) NOT NULL DEFAULT 'ltci',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `ltc_elder_tenant_code_name_idx`(`tenant_code`, `name`),
|
||||
UNIQUE INDEX `ltc_elder_tenant_code_id_card_no_key`(`tenant_code`, `id_card_no`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ltc_elder_status_log` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`elder_id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`from_status` VARCHAR(20) NOT NULL,
|
||||
`to_status` VARCHAR(20) NOT NULL,
|
||||
`change_reason` VARCHAR(200) NOT NULL,
|
||||
`source` VARCHAR(10) NOT NULL DEFAULT 'manual',
|
||||
`operator_id` VARCHAR(36) NOT NULL,
|
||||
`evidence_file` VARCHAR(255) NULL,
|
||||
`changed_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `ltc_elder_status_log_elder_id_idx`(`elder_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- RenameIndex
|
||||
ALTER TABLE `ltc_staff` RENAME INDEX `sys_staff_tenant_code_name_idx` TO `ltc_staff_tenant_code_name_idx`;
|
||||
|
||||
-- RenameIndex
|
||||
ALTER TABLE `ltc_staff` RENAME INDEX `sys_staff_user_id_key` TO `ltc_staff_user_id_key`;
|
||||
|
||||
-- RenameIndex
|
||||
ALTER TABLE `svc_local` RENAME INDEX `sys_svc_local_loc_code_idx` TO `svc_local_loc_code_idx`;
|
||||
|
||||
-- RenameIndex
|
||||
ALTER TABLE `svc_mapping` RENAME INDEX `sys_svc_mapping_loc_id_idx` TO `svc_mapping_loc_id_idx`;
|
||||
|
||||
-- RenameIndex
|
||||
ALTER TABLE `svc_national` RENAME INDEX `sys_svc_national_nat_code_key` TO `svc_national_nat_code_key`;
|
||||
|
||||
-- RenameIndex
|
||||
ALTER TABLE `svc_org` RENAME INDEX `sys_svc_org_tenant_code_src_type_idx` TO `svc_org_tenant_code_src_type_idx`;
|
||||
@ -1,17 +0,0 @@
|
||||
-- 统一业务表字符集/排序规则为 utf8mb4_general_ci(项目要求)
|
||||
ALTER TABLE `sys_audit_log` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_config` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_dict_item` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_dict_type` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_login_log` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_notice` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_notice_read` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_org` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_refresh_token` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_resource` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_role` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_role_org` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_role_resource` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_tenant` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_user` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
ALTER TABLE `sys_user_role` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
@ -1,12 +0,0 @@
|
||||
-- 业务表重命名:去 sys_ 前缀,恢复业务领域语义命名
|
||||
ALTER TABLE `sys_agency` RENAME TO `ltc_agency`;
|
||||
ALTER TABLE `sys_staff` RENAME TO `ltc_staff`;
|
||||
ALTER TABLE `sys_svc_national` RENAME TO `svc_national`;
|
||||
ALTER TABLE `sys_svc_local` RENAME TO `svc_local`;
|
||||
ALTER TABLE `sys_svc_mapping` RENAME TO `svc_mapping`;
|
||||
ALTER TABLE `sys_svc_org` RENAME TO `svc_org`;
|
||||
ALTER TABLE `sys_loc_config` RENAME TO `loc_config`;
|
||||
|
||||
-- 业务字典改用脚手架 sys_dict_type / sys_dict_item(异常分类、拍照分档作为内置字典 seed)
|
||||
DROP TABLE IF EXISTS `sys_dict_abnormal_type`;
|
||||
DROP TABLE IF EXISTS `sys_dict_photo_tier`;
|
||||
@ -1,102 +0,0 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `svc_plan` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`elder_id` VARCHAR(36) NOT NULL,
|
||||
`plan_period_start` DATE NOT NULL,
|
||||
`plan_period_end` DATE NOT NULL,
|
||||
`care_level` VARCHAR(20) NOT NULL,
|
||||
`care_mode` VARCHAR(20) NOT NULL,
|
||||
`item_count` INTEGER NOT NULL DEFAULT 0,
|
||||
`item_count_rule` VARCHAR(100) NULL,
|
||||
`extra_item_count` INTEGER NOT NULL DEFAULT 0,
|
||||
`week_freq` INTEGER NULL,
|
||||
`month_hours` INTEGER NULL,
|
||||
`plan_status` VARCHAR(20) NOT NULL DEFAULT 'draft',
|
||||
`confirm_elder` BOOLEAN NOT NULL DEFAULT false,
|
||||
`confirm_guardian` BOOLEAN NOT NULL DEFAULT false,
|
||||
`confirm_time` DATETIME(3) NULL,
|
||||
`plan_basis` JSON NULL,
|
||||
`change_from_plan_id` VARCHAR(36) NULL,
|
||||
`biz_line` VARCHAR(20) NOT NULL DEFAULT 'ltci',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `svc_plan_tenant_code_elder_id_idx`(`tenant_code`, `elder_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `svc_plan_item` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`plan_id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`svc_id` VARCHAR(36) NOT NULL,
|
||||
`svc_name_snapshot` VARCHAR(100) NOT NULL,
|
||||
`svc_code_snapshot` VARCHAR(20) NULL,
|
||||
`freq_type` VARCHAR(20) NULL,
|
||||
`freq_value` INTEGER NULL,
|
||||
`duration_min` INTEGER NULL,
|
||||
`photo_tier` VARCHAR(10) NOT NULL DEFAULT 'free',
|
||||
`caution_note` TEXT NULL,
|
||||
`is_medical` BOOLEAN NOT NULL DEFAULT false,
|
||||
`need_cert` BOOLEAN NOT NULL DEFAULT false,
|
||||
|
||||
INDEX `svc_plan_item_plan_id_idx`(`plan_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `svc_order` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`elder_id` VARCHAR(36) NOT NULL,
|
||||
`plan_id` VARCHAR(36) NOT NULL,
|
||||
`service_date` DATE NOT NULL,
|
||||
`time_slot_start` DATETIME(3) NOT NULL,
|
||||
`time_slot_end` DATETIME(3) NOT NULL,
|
||||
`assignee_id` VARCHAR(36) NULL,
|
||||
`assign_time` DATETIME(3) NULL,
|
||||
`assign_mode` VARCHAR(20) NULL,
|
||||
`order_status` VARCHAR(20) NOT NULL DEFAULT 'to_assign',
|
||||
`item_list` JSON NOT NULL,
|
||||
`need_photo` BOOLEAN NOT NULL DEFAULT false,
|
||||
`cancel_reason` VARCHAR(200) NULL,
|
||||
`reschedule_log` JSON NULL,
|
||||
`qualification_check` VARCHAR(20) NULL,
|
||||
`billable` BOOLEAN NOT NULL DEFAULT true,
|
||||
`price_snapshot` JSON NULL,
|
||||
`settle_period` VARCHAR(20) NULL,
|
||||
`not_met_reason` VARCHAR(50) NULL,
|
||||
`not_met_at` DATETIME(3) NULL,
|
||||
`biz_line` VARCHAR(20) NOT NULL DEFAULT 'ltci',
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `svc_order_tenant_code_assignee_id_service_date_idx`(`tenant_code`, `assignee_id`, `service_date`),
|
||||
INDEX `svc_order_tenant_code_elder_id_idx`(`tenant_code`, `elder_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ltc_elder_svc` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`elder_id` VARCHAR(36) NOT NULL,
|
||||
`svc_id` VARCHAR(36) NOT NULL,
|
||||
`svc_name_snapshot` VARCHAR(100) NOT NULL,
|
||||
`svc_code_snapshot` VARCHAR(20) NULL,
|
||||
`care_mode` VARCHAR(20) NOT NULL,
|
||||
`is_active` BOOLEAN NOT NULL DEFAULT true,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `ltc_elder_svc_tenant_code_elder_id_idx`(`tenant_code`, `elder_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
@ -1,133 +0,0 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `ho_record` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`order_id` VARCHAR(36) NOT NULL,
|
||||
`elder_id` VARCHAR(36) NOT NULL,
|
||||
`assignee_id` VARCHAR(36) NOT NULL,
|
||||
`checkin_time` DATETIME(3) NULL,
|
||||
`checkout_time` DATETIME(3) NULL,
|
||||
`duration_min` INTEGER NULL,
|
||||
`checkin_lat` DECIMAL(10, 6) NULL,
|
||||
`checkin_lng` DECIMAL(10, 6) NULL,
|
||||
`locate_status` VARCHAR(20) NOT NULL DEFAULT 'ok',
|
||||
`record_status` VARCHAR(20) NOT NULL DEFAULT 'serving',
|
||||
`voice_file` VARCHAR(200) NULL,
|
||||
`offline_flag` BOOLEAN NOT NULL DEFAULT false,
|
||||
`client_md5` VARCHAR(32) NULL,
|
||||
`submit_time` DATETIME(3) NULL,
|
||||
`actual_duration_tier` VARCHAR(10) NULL,
|
||||
`biz_line` VARCHAR(20) NOT NULL DEFAULT 'ltci',
|
||||
`is_prepaid` BOOLEAN NOT NULL DEFAULT false,
|
||||
`billable` BOOLEAN NOT NULL DEFAULT true,
|
||||
`source_prepaid_of` VARCHAR(36) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `ho_record_tenant_code_order_id_idx`(`tenant_code`, `order_id`),
|
||||
INDEX `ho_record_tenant_code_elder_id_idx`(`tenant_code`, `elder_id`),
|
||||
INDEX `ho_record_tenant_code_assignee_id_checkin_time_idx`(`tenant_code`, `assignee_id`, `checkin_time`),
|
||||
UNIQUE INDEX `ho_record_tenant_code_client_md5_key`(`tenant_code`, `client_md5`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ho_record_item` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`record_id` VARCHAR(36) NOT NULL,
|
||||
`svc_id` VARCHAR(36) NOT NULL,
|
||||
`svc_name_snapshot` VARCHAR(100) NOT NULL,
|
||||
`exec_result` VARCHAR(20) NOT NULL,
|
||||
`undo_reason` VARCHAR(200) NULL,
|
||||
`extra_flag` BOOLEAN NOT NULL DEFAULT false,
|
||||
`photo_required` BOOLEAN NOT NULL DEFAULT false,
|
||||
`is_refused_photo` BOOLEAN NOT NULL DEFAULT false,
|
||||
`refuse_reason` VARCHAR(200) NULL,
|
||||
|
||||
INDEX `ho_record_item_record_id_idx`(`record_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ho_record_photo` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`record_id` VARCHAR(36) NOT NULL,
|
||||
`svc_id` VARCHAR(36) NULL,
|
||||
`file_path` VARCHAR(255) NOT NULL,
|
||||
`file_size` INTEGER NOT NULL,
|
||||
`visible_to_family` BOOLEAN NOT NULL DEFAULT false,
|
||||
`upload_batch` VARCHAR(36) NULL,
|
||||
`keep_until` DATETIME(3) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `ho_record_photo_record_id_idx`(`record_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ho_record_abnormal` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`record_id` VARCHAR(36) NULL,
|
||||
`order_id` VARCHAR(36) NULL,
|
||||
`elder_id` VARCHAR(36) NOT NULL,
|
||||
`reporter_id` VARCHAR(36) NOT NULL,
|
||||
`abnormal_type` VARCHAR(20) NOT NULL,
|
||||
`abnormal_desc` TEXT NULL,
|
||||
`voice_file` VARCHAR(200) NULL,
|
||||
`has_photo` BOOLEAN NOT NULL DEFAULT false,
|
||||
`visit_time` DATETIME(3) NULL,
|
||||
`visit_lat` DECIMAL(10, 6) NULL,
|
||||
`visit_lng` DECIMAL(10, 6) NULL,
|
||||
`notify_status` VARCHAR(20) NOT NULL DEFAULT 'pending',
|
||||
`handle_status` VARCHAR(20) NOT NULL DEFAULT 'open',
|
||||
`handle_result` VARCHAR(200) NULL,
|
||||
`link_plan_change` BOOLEAN NOT NULL DEFAULT false,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
|
||||
INDEX `ho_record_abnormal_tenant_code_elder_id_idx`(`tenant_code`, `elder_id`),
|
||||
INDEX `ho_record_abnormal_tenant_code_notify_status_idx`(`tenant_code`, `notify_status`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `settlement` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`settle_period` VARCHAR(20) NOT NULL,
|
||||
`amount_total` DECIMAL(12, 2) NULL,
|
||||
`amount_passed` DECIMAL(12, 2) NULL,
|
||||
`amount_rejected` DECIMAL(12, 2) NULL,
|
||||
`amount_fund` DECIMAL(12, 2) NULL,
|
||||
`amount_self_pay` DECIMAL(12, 2) NULL,
|
||||
`submit_date` DATE NULL,
|
||||
`pay_date` DATE NULL,
|
||||
`exception_reason` VARCHAR(200) NULL,
|
||||
`handle_deadline` DATE NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `report` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`record_id` VARCHAR(36) NOT NULL,
|
||||
`order_id` VARCHAR(36) NOT NULL,
|
||||
`report_status` VARCHAR(20) NOT NULL DEFAULT 'pending',
|
||||
`report_time` DATETIME(3) NULL,
|
||||
`official_no` VARCHAR(50) NULL,
|
||||
`loc_code` VARCHAR(12) NOT NULL,
|
||||
`nat_code_snapshot` JSON NULL,
|
||||
`adapter_result` VARCHAR(200) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
-- CreateTable
|
||||
CREATE TABLE `qc` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`record_id` VARCHAR(36) NOT NULL,
|
||||
`qc_type` VARCHAR(20) NOT NULL DEFAULT 'normal',
|
||||
`qc_result` VARCHAR(20) NOT NULL DEFAULT 'pending',
|
||||
`qc_note` VARCHAR(200) NULL,
|
||||
`qc_staff_id` VARCHAR(36) NULL,
|
||||
`qc_time` DATETIME(3) NULL,
|
||||
`pass_time` DATETIME(3) NULL,
|
||||
`first_qc_id` VARCHAR(36) NULL,
|
||||
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
`created_by` VARCHAR(36) NULL,
|
||||
`updated_at` DATETIME(3) NOT NULL,
|
||||
`deleted_at` DATETIME(3) NULL,
|
||||
|
||||
INDEX `qc_tenant_code_record_id_idx`(`tenant_code`, `record_id`),
|
||||
INDEX `qc_tenant_code_qc_result_idx`(`tenant_code`, `qc_result`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
-- CreateTable
|
||||
CREATE TABLE `ho_record_correction` (
|
||||
`id` VARCHAR(36) NOT NULL,
|
||||
`tenant_code` VARCHAR(64) NOT NULL,
|
||||
`record_id` VARCHAR(36) NOT NULL,
|
||||
`qc_id` VARCHAR(36) NULL,
|
||||
`correction_note` VARCHAR(200) NOT NULL,
|
||||
`corrected_by` VARCHAR(36) NOT NULL,
|
||||
`corrected_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
|
||||
INDEX `ho_record_correction_record_id_idx`(`record_id`),
|
||||
PRIMARY KEY (`id`)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||
|
||||
@ -1,7 +0,0 @@
|
||||
-- AlterTable
|
||||
ALTER TABLE `ltc_agency` ADD COLUMN `docking_tier` VARCHAR(10) NOT NULL DEFAULT 'B',
|
||||
ADD COLUMN `new_national_notify` BOOLEAN NOT NULL DEFAULT true,
|
||||
ADD COLUMN `qc_threshold` INTEGER NOT NULL DEFAULT 24;
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE `svc_org` ADD COLUMN `photo_tier` VARCHAR(10) NOT NULL DEFAULT 'free';
|
||||
Loading…
x
Reference in New Issue
Block a user