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