Merge branch 'codex/production-collation-release-fix' into codex/multi-tenant-knowledge-platform

# Conflicts:
#	AGENTS.md
#	README.md
#	backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrUploadQueueService.java
#	backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrUploadQueueServiceTest.java
#	docs/API_INTEGRATION.md
#	docs/BRD_PRODUCTION_MIGRATION_RUNBOOK.md
#	docs/DEV_SETUP.md
#	docs/H5_REDESIGN.md
#	docs/README.md
#	docs/RUOYI_AI_INCREMENTAL_MIGRATION.md
#	docs/物业AI人力资源系统开发规格TechSpec.md
#	scripts/release-preflight.sh
#	scripts/tests/aihr-schema-migrations.test.sh
This commit is contained in:
2026-07-22 08:38:40 +08:00
13 changed files with 115 additions and 45 deletions
@@ -2,7 +2,7 @@
CREATE TABLE IF NOT EXISTS `aihr_candidate_material` ( CREATE TABLE IF NOT EXISTS `aihr_candidate_material` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`candidate_id` varchar(80) NOT NULL COMMENT '候选人外部ID', `candidate_id` varchar(80) NOT NULL COMMENT '候选人外部ID',
`candidate_name` varchar(100) DEFAULT NULL COMMENT '候选人姓名', `candidate_name` varchar(100) DEFAULT NULL COMMENT '候选人姓名',
`material_type` varchar(50) DEFAULT NULL COMMENT '资料类型', `material_type` varchar(50) DEFAULT NULL COMMENT '资料类型',
@@ -3,7 +3,7 @@
CREATE TABLE IF NOT EXISTS `aihr_interview_result` ( CREATE TABLE IF NOT EXISTS `aihr_interview_result` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`session_id` varchar(100) NOT NULL COMMENT '面试会话ID', `session_id` varchar(100) NOT NULL COMMENT '面试会话ID',
`candidate_id` varchar(80) DEFAULT NULL COMMENT '候选人ID', `candidate_id` varchar(80) DEFAULT NULL COMMENT '候选人ID',
`candidate_name` varchar(100) DEFAULT NULL COMMENT '候选人姓名', `candidate_name` varchar(100) DEFAULT NULL COMMENT '候选人姓名',
@@ -33,7 +33,7 @@ CREATE TABLE IF NOT EXISTS `aihr_interview_result` (
CREATE TABLE IF NOT EXISTS `aihr_candidate_employee_link` ( CREATE TABLE IF NOT EXISTS `aihr_candidate_employee_link` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`candidate_id` varchar(80) NOT NULL COMMENT '本地候选人ID', `candidate_id` varchar(80) NOT NULL COMMENT '本地候选人ID',
`ext_party_id` varchar(100) NOT NULL COMMENT '外部员工主体ID', `ext_party_id` varchar(100) NOT NULL COMMENT '外部员工主体ID',
`status` varchar(20) DEFAULT '已关联' COMMENT '关联状态', `status` varchar(20) DEFAULT '已关联' COMMENT '关联状态',
+5 -5
View File
@@ -3,7 +3,7 @@
CREATE TABLE IF NOT EXISTS `aihr_knowledge_info` ( CREATE TABLE IF NOT EXISTS `aihr_knowledge_info` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`name` varchar(100) NOT NULL COMMENT '知识库名称', `name` varchar(100) NOT NULL COMMENT '知识库名称',
`code` varchar(100) DEFAULT NULL COMMENT '租户内稳定空间编码;平台迁移会回填 legacy 编码并改为必填', `code` varchar(100) DEFAULT NULL COMMENT '租户内稳定空间编码;平台迁移会回填 legacy 编码并改为必填',
`space_type` varchar(30) NOT NULL DEFAULT 'BUSINESS' COMMENT 'PUBLIC/BUSINESS/MANAGEMENT/EXTERNAL', `space_type` varchar(30) NOT NULL DEFAULT 'BUSINESS' COMMENT 'PUBLIC/BUSINESS/MANAGEMENT/EXTERNAL',
@@ -33,7 +33,7 @@ CREATE TABLE IF NOT EXISTS `aihr_knowledge_info` (
CREATE TABLE IF NOT EXISTS `aihr_knowledge_attach` ( CREATE TABLE IF NOT EXISTS `aihr_knowledge_attach` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`knowledge_id` bigint NOT NULL COMMENT '知识库ID', `knowledge_id` bigint NOT NULL COMMENT '知识库ID',
`oss_id` bigint DEFAULT NULL COMMENT '对象存储ID', `oss_id` bigint DEFAULT NULL COMMENT '对象存储ID',
`doc_id` varchar(32) DEFAULT NULL COMMENT '文档ID', `doc_id` varchar(32) DEFAULT NULL COMMENT '文档ID',
@@ -53,7 +53,7 @@ CREATE TABLE IF NOT EXISTS `aihr_knowledge_attach` (
CREATE TABLE IF NOT EXISTS `aihr_knowledge_fragment` ( CREATE TABLE IF NOT EXISTS `aihr_knowledge_fragment` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`knowledge_id` bigint NOT NULL COMMENT '知识库ID', `knowledge_id` bigint NOT NULL COMMENT '知识库ID',
`idx` int NOT NULL COMMENT '片段序号', `idx` int NOT NULL COMMENT '片段序号',
`doc_id` varchar(32) DEFAULT NULL COMMENT '文档ID', `doc_id` varchar(32) DEFAULT NULL COMMENT '文档ID',
@@ -75,7 +75,7 @@ CREATE TABLE IF NOT EXISTS `aihr_knowledge_fragment` (
CREATE TABLE IF NOT EXISTS `aihr_knowledge_import_task` ( CREATE TABLE IF NOT EXISTS `aihr_knowledge_import_task` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`directory` varchar(500) NOT NULL COMMENT '导入相对目录', `directory` varchar(500) NOT NULL COMMENT '导入相对目录',
`category` varchar(100) NOT NULL COMMENT '知识库分类', `category` varchar(100) NOT NULL COMMENT '知识库分类',
`status` tinyint DEFAULT 0 COMMENT '任务状态: 0等待, 1运行中, 2完成, 3失败, 4取消', `status` tinyint DEFAULT 0 COMMENT '任务状态: 0等待, 1运行中, 2完成, 3失败, 4取消',
@@ -143,7 +143,7 @@ ON DUPLICATE KEY UPDATE
-- 知识库批量上传队列:上传秒回后由后台 worker 加工,支持单文件重试 -- 知识库批量上传队列:上传秒回后由后台 worker 加工,支持单文件重试
CREATE TABLE IF NOT EXISTS `aihr_knowledge_upload_item` ( CREATE TABLE IF NOT EXISTS `aihr_knowledge_upload_item` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`batch_id` varchar(64) NOT NULL COMMENT '上传批次', `batch_id` varchar(64) NOT NULL COMMENT '上传批次',
`file_name` varchar(255) NOT NULL COMMENT '文件名', `file_name` varchar(255) NOT NULL COMMENT '文件名',
`category` varchar(100) DEFAULT '' COMMENT '目标分类', `category` varchar(100) DEFAULT '' COMMENT '目标分类',
+2 -2
View File
@@ -3,7 +3,7 @@
CREATE TABLE IF NOT EXISTS `aihr_model_provider` ( CREATE TABLE IF NOT EXISTS `aihr_model_provider` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`provider_name` varchar(100) NOT NULL COMMENT '供应商名称', `provider_name` varchar(100) NOT NULL COMMENT '供应商名称',
`provider_code` varchar(50) NOT NULL COMMENT '供应商编码', `provider_code` varchar(50) NOT NULL COMMENT '供应商编码',
`provider_desc` varchar(500) DEFAULT NULL COMMENT '供应商描述', `provider_desc` varchar(500) DEFAULT NULL COMMENT '供应商描述',
@@ -24,7 +24,7 @@ CREATE TABLE IF NOT EXISTS `aihr_model_provider` (
CREATE TABLE IF NOT EXISTS `aihr_model_config` ( CREATE TABLE IF NOT EXISTS `aihr_model_config` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`category` varchar(30) NOT NULL COMMENT '模型类型: chat/vector/rerank', `category` varchar(30) NOT NULL COMMENT '模型类型: chat/vector/rerank',
`model_name` varchar(100) NOT NULL COMMENT '模型名称', `model_name` varchar(100) NOT NULL COMMENT '模型名称',
`provider_code` varchar(50) NOT NULL COMMENT '供应商编码', `provider_code` varchar(50) NOT NULL COMMENT '供应商编码',
@@ -6,7 +6,7 @@
DROP TABLE IF EXISTS `aihr_org_snapshot`; DROP TABLE IF EXISTS `aihr_org_snapshot`;
CREATE TABLE `aihr_org_snapshot` ( CREATE TABLE `aihr_org_snapshot` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`project_code` varchar(50) NOT NULL COMMENT '项目编码(数据权限范围主体,D1)', `project_code` varchar(50) NOT NULL COMMENT '项目编码(数据权限范围主体,D1)',
`project_name` varchar(100) NOT NULL COMMENT '项目名称', `project_name` varchar(100) NOT NULL COMMENT '项目名称',
`dept_name` varchar(100) DEFAULT NULL COMMENT '部门/条线', `dept_name` varchar(100) DEFAULT NULL COMMENT '部门/条线',
+18 -18
View File
@@ -3,7 +3,7 @@
CREATE TABLE IF NOT EXISTS `aihr_case_record` ( CREATE TABLE IF NOT EXISTS `aihr_case_record` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`case_id` varchar(80) NOT NULL COMMENT '案例ID', `case_id` varchar(80) NOT NULL COMMENT '案例ID',
`file_name` varchar(255) DEFAULT NULL COMMENT '来源文件', `file_name` varchar(255) DEFAULT NULL COMMENT '来源文件',
`project_ext_org_id` varchar(100) DEFAULT NULL COMMENT '项目外部组织ID', `project_ext_org_id` varchar(100) DEFAULT NULL COMMENT '项目外部组织ID',
@@ -26,7 +26,7 @@ CREATE TABLE IF NOT EXISTS `aihr_case_record` (
CREATE TABLE IF NOT EXISTS `aihr_practice_session` ( CREATE TABLE IF NOT EXISTS `aihr_practice_session` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`session_id` varchar(100) NOT NULL COMMENT '训练会话ID', `session_id` varchar(100) NOT NULL COMMENT '训练会话ID',
`ext_party_id` varchar(100) DEFAULT NULL COMMENT '外部主体或手机号', `ext_party_id` varchar(100) DEFAULT NULL COMMENT '外部主体或手机号',
`trainee_name` varchar(100) DEFAULT NULL COMMENT '学员名称', `trainee_name` varchar(100) DEFAULT NULL COMMENT '学员名称',
@@ -64,7 +64,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_session` (
CREATE TABLE IF NOT EXISTS `aihr_practice_annotation` ( CREATE TABLE IF NOT EXISTS `aihr_practice_annotation` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`session_id` varchar(100) NOT NULL COMMENT '训练会话ID', `session_id` varchar(100) NOT NULL COMMENT '训练会话ID',
`turn_index` int NOT NULL COMMENT '话术序号', `turn_index` int NOT NULL COMMENT '话术序号',
`source_text` varchar(1000) DEFAULT NULL COMMENT '原话', `source_text` varchar(1000) DEFAULT NULL COMMENT '原话',
@@ -80,7 +80,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_annotation` (
CREATE TABLE IF NOT EXISTS `aihr_practice_audio` ( CREATE TABLE IF NOT EXISTS `aihr_practice_audio` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`session_id` varchar(100) NOT NULL COMMENT '训练会话ID', `session_id` varchar(100) NOT NULL COMMENT '训练会话ID',
`turn_index` int NOT NULL COMMENT '话术序号', `turn_index` int NOT NULL COMMENT '话术序号',
`role` varchar(30) NOT NULL COMMENT '音频角色', `role` varchar(30) NOT NULL COMMENT '音频角色',
@@ -95,7 +95,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_audio` (
CREATE TABLE IF NOT EXISTS `aihr_practice_audio_upload` ( CREATE TABLE IF NOT EXISTS `aihr_practice_audio_upload` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`oss_id` bigint NOT NULL COMMENT 'OSS文件ID', `oss_id` bigint NOT NULL COMMENT 'OSS文件ID',
`owner_user_id` bigint NOT NULL COMMENT '上传用户ID', `owner_user_id` bigint NOT NULL COMMENT '上传用户ID',
`owner_identity` varchar(100) NOT NULL COMMENT '上传主体', `owner_identity` varchar(100) NOT NULL COMMENT '上传主体',
@@ -111,7 +111,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_audio_upload` (
CREATE TABLE IF NOT EXISTS `aihr_practice_assignment` ( CREATE TABLE IF NOT EXISTS `aihr_practice_assignment` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`ext_party_id` varchar(100) NOT NULL COMMENT '员工外部主体或手机号', `ext_party_id` varchar(100) NOT NULL COMMENT '员工外部主体或手机号',
`trainee_name` varchar(100) DEFAULT NULL COMMENT '员工姓名', `trainee_name` varchar(100) DEFAULT NULL COMMENT '员工姓名',
`scenario_id` varchar(80) NOT NULL COMMENT '场景ID', `scenario_id` varchar(80) NOT NULL COMMENT '场景ID',
@@ -139,7 +139,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_assignment` (
CREATE TABLE IF NOT EXISTS `aihr_practice_calibration` ( CREATE TABLE IF NOT EXISTS `aihr_practice_calibration` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`session_id` varchar(100) NOT NULL COMMENT '训练会话ID', `session_id` varchar(100) NOT NULL COMMENT '训练会话ID',
`reviewer` varchar(100) DEFAULT NULL COMMENT '校准人', `reviewer` varchar(100) DEFAULT NULL COMMENT '校准人',
`original_score` int DEFAULT NULL COMMENT 'AI原始总分', `original_score` int DEFAULT NULL COMMENT 'AI原始总分',
@@ -155,7 +155,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_calibration` (
CREATE TABLE IF NOT EXISTS `aihr_practice_scenario` ( CREATE TABLE IF NOT EXISTS `aihr_practice_scenario` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`scenario_code` varchar(80) NOT NULL COMMENT '场景编码', `scenario_code` varchar(80) NOT NULL COMMENT '场景编码',
`scenario_name` varchar(100) NOT NULL COMMENT '场景名称', `scenario_name` varchar(100) NOT NULL COMMENT '场景名称',
`position` varchar(80) NOT NULL COMMENT '岗位', `position` varchar(80) NOT NULL COMMENT '岗位',
@@ -187,7 +187,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_scenario` (
CREATE TABLE IF NOT EXISTS `aihr_practice_rubric` ( CREATE TABLE IF NOT EXISTS `aihr_practice_rubric` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`rubric_code` varchar(100) NOT NULL COMMENT 'Rubric编码', `rubric_code` varchar(100) NOT NULL COMMENT 'Rubric编码',
`scenario_code` varchar(80) NOT NULL COMMENT '场景编码', `scenario_code` varchar(80) NOT NULL COMMENT '场景编码',
`rubric_name` varchar(100) NOT NULL COMMENT 'Rubric名称', `rubric_name` varchar(100) NOT NULL COMMENT 'Rubric名称',
@@ -203,7 +203,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_rubric` (
CREATE TABLE IF NOT EXISTS `aihr_practice_rubric_dimension` ( CREATE TABLE IF NOT EXISTS `aihr_practice_rubric_dimension` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`rubric_code` varchar(100) NOT NULL COMMENT 'Rubric编码', `rubric_code` varchar(100) NOT NULL COMMENT 'Rubric编码',
`dimension_code` varchar(50) NOT NULL COMMENT '维度编码', `dimension_code` varchar(50) NOT NULL COMMENT '维度编码',
`dimension_name` varchar(50) NOT NULL COMMENT '维度名称', `dimension_name` varchar(50) NOT NULL COMMENT '维度名称',
@@ -219,7 +219,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_rubric_dimension` (
CREATE TABLE IF NOT EXISTS `aihr_prompt_template` ( CREATE TABLE IF NOT EXISTS `aihr_prompt_template` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`code` varchar(80) NOT NULL COMMENT '模板编码', `code` varchar(80) NOT NULL COMMENT '模板编码',
`name` varchar(100) NOT NULL COMMENT '模板名称', `name` varchar(100) NOT NULL COMMENT '模板名称',
`category` varchar(50) NOT NULL COMMENT '业务分类', `category` varchar(50) NOT NULL COMMENT '业务分类',
@@ -239,7 +239,7 @@ CREATE TABLE IF NOT EXISTS `aihr_prompt_template` (
CREATE TABLE IF NOT EXISTS `aihr_knowledge_gap` ( CREATE TABLE IF NOT EXISTS `aihr_knowledge_gap` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`query_text` varchar(1000) NOT NULL COMMENT '未命中问题', `query_text` varchar(1000) NOT NULL COMMENT '未命中问题',
`category` varchar(100) DEFAULT NULL COMMENT '知识分类', `category` varchar(100) DEFAULT NULL COMMENT '知识分类',
`position` varchar(80) DEFAULT NULL COMMENT '岗位', `position` varchar(80) DEFAULT NULL COMMENT '岗位',
@@ -252,7 +252,7 @@ CREATE TABLE IF NOT EXISTS `aihr_knowledge_gap` (
CREATE TABLE IF NOT EXISTS `aihr_sop_answer_review` ( CREATE TABLE IF NOT EXISTS `aihr_sop_answer_review` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`query_text` varchar(1000) NOT NULL COMMENT '问题', `query_text` varchar(1000) NOT NULL COMMENT '问题',
`category` varchar(100) DEFAULT NULL COMMENT '知识分类', `category` varchar(100) DEFAULT NULL COMMENT '知识分类',
`answer_text` varchar(2000) DEFAULT NULL COMMENT '回答', `answer_text` varchar(2000) DEFAULT NULL COMMENT '回答',
@@ -274,7 +274,7 @@ CREATE TABLE IF NOT EXISTS `aihr_sop_answer_review` (
CREATE TABLE IF NOT EXISTS `aihr_knowledge_answer_feedback` ( CREATE TABLE IF NOT EXISTS `aihr_knowledge_answer_feedback` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`query_text` varchar(1000) NOT NULL COMMENT '问题原文', `query_text` varchar(1000) NOT NULL COMMENT '问题原文',
`query_norm` varchar(500) NOT NULL COMMENT '规范化问题', `query_norm` varchar(500) NOT NULL COMMENT '规范化问题',
`fragment_id` bigint NOT NULL COMMENT '知识片段ID', `fragment_id` bigint NOT NULL COMMENT '知识片段ID',
@@ -471,7 +471,7 @@ ON DUPLICATE KEY UPDATE
-- 不写入业务数据;与 update/aihr_20260715_position_sop_qualification_mysql8.sql 保持一致。 -- 不写入业务数据;与 update/aihr_20260715_position_sop_qualification_mysql8.sql 保持一致。
CREATE TABLE IF NOT EXISTS `aihr_position_responsibility` ( CREATE TABLE IF NOT EXISTS `aihr_position_responsibility` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '000000' COMMENT '租户编号',
`position_code` varchar(80) NOT NULL COMMENT '岗位编码', `position_code` varchar(80) NOT NULL COMMENT '岗位编码',
`responsibility_text` varchar(1000) NOT NULL COMMENT '岗位职责', `responsibility_text` varchar(1000) NOT NULL COMMENT '岗位职责',
`sop_id` bigint DEFAULT NULL COMMENT '关联SOP主键(跨模块引用)', `sop_id` bigint DEFAULT NULL COMMENT '关联SOP主键(跨模块引用)',
@@ -488,7 +488,7 @@ CREATE TABLE IF NOT EXISTS `aihr_position_responsibility` (
CREATE TABLE IF NOT EXISTS `aihr_sop_applicability` ( CREATE TABLE IF NOT EXISTS `aihr_sop_applicability` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '000000' COMMENT '租户编号',
`sop_id` bigint DEFAULT NULL COMMENT '关联SOP主键(跨模块引用)', `sop_id` bigint DEFAULT NULL COMMENT '关联SOP主键(跨模块引用)',
`sop_code` varchar(100) DEFAULT NULL COMMENT '关联SOP编码', `sop_code` varchar(100) DEFAULT NULL COMMENT '关联SOP编码',
`project_type` varchar(80) DEFAULT NULL COMMENT '项目类型:住宅/公建/景区等', `project_type` varchar(80) DEFAULT NULL COMMENT '项目类型:住宅/公建/景区等',
@@ -506,7 +506,7 @@ CREATE TABLE IF NOT EXISTS `aihr_sop_applicability` (
CREATE TABLE IF NOT EXISTS `aihr_onboard_task` ( CREATE TABLE IF NOT EXISTS `aihr_onboard_task` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '000000' COMMENT '租户编号',
`ext_party_id` varchar(100) NOT NULL COMMENT '员工外部主体ID,不复制姓名', `ext_party_id` varchar(100) NOT NULL COMMENT '员工外部主体ID,不复制姓名',
`project_code` varchar(100) DEFAULT NULL COMMENT '项目编码', `project_code` varchar(100) DEFAULT NULL COMMENT '项目编码',
`position_code` varchar(80) DEFAULT NULL COMMENT '岗位编码', `position_code` varchar(80) DEFAULT NULL COMMENT '岗位编码',
@@ -528,7 +528,7 @@ CREATE TABLE IF NOT EXISTS `aihr_onboard_task` (
CREATE TABLE IF NOT EXISTS `aihr_qualification_gate` ( CREATE TABLE IF NOT EXISTS `aihr_qualification_gate` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '000000' COMMENT '租户编号',
`ext_party_id` varchar(100) NOT NULL COMMENT '员工外部主体ID,不复制姓名', `ext_party_id` varchar(100) NOT NULL COMMENT '员工外部主体ID,不复制姓名',
`project_code` varchar(100) DEFAULT NULL COMMENT '项目编码', `project_code` varchar(100) DEFAULT NULL COMMENT '项目编码',
`position_code` varchar(80) NOT NULL COMMENT '岗位编码', `position_code` varchar(80) NOT NULL COMMENT '岗位编码',
@@ -3,7 +3,7 @@
CREATE TABLE IF NOT EXISTS `aihr_practice_scenario` ( CREATE TABLE IF NOT EXISTS `aihr_practice_scenario` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`scenario_code` varchar(80) NOT NULL COMMENT '场景编码', `scenario_code` varchar(80) NOT NULL COMMENT '场景编码',
`scenario_name` varchar(100) NOT NULL COMMENT '场景名称', `scenario_name` varchar(100) NOT NULL COMMENT '场景名称',
`position` varchar(80) NOT NULL COMMENT '岗位', `position` varchar(80) NOT NULL COMMENT '岗位',
@@ -35,7 +35,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_scenario` (
CREATE TABLE IF NOT EXISTS `aihr_practice_rubric` ( CREATE TABLE IF NOT EXISTS `aihr_practice_rubric` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`rubric_code` varchar(100) NOT NULL COMMENT 'Rubric编码', `rubric_code` varchar(100) NOT NULL COMMENT 'Rubric编码',
`scenario_code` varchar(80) NOT NULL COMMENT '场景编码', `scenario_code` varchar(80) NOT NULL COMMENT '场景编码',
`rubric_name` varchar(100) NOT NULL COMMENT 'Rubric名称', `rubric_name` varchar(100) NOT NULL COMMENT 'Rubric名称',
@@ -51,7 +51,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_rubric` (
CREATE TABLE IF NOT EXISTS `aihr_practice_rubric_dimension` ( CREATE TABLE IF NOT EXISTS `aihr_practice_rubric_dimension` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`rubric_code` varchar(100) NOT NULL COMMENT 'Rubric编码', `rubric_code` varchar(100) NOT NULL COMMENT 'Rubric编码',
`dimension_code` varchar(50) NOT NULL COMMENT '维度编码', `dimension_code` varchar(50) NOT NULL COMMENT '维度编码',
`dimension_name` varchar(50) NOT NULL COMMENT '维度名称', `dimension_name` varchar(50) NOT NULL COMMENT '维度名称',
@@ -3,7 +3,7 @@
CREATE TABLE IF NOT EXISTS `aihr_practice_audio` ( CREATE TABLE IF NOT EXISTS `aihr_practice_audio` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`session_id` varchar(100) NOT NULL COMMENT '训练会话ID', `session_id` varchar(100) NOT NULL COMMENT '训练会话ID',
`turn_index` int NOT NULL COMMENT '话术序号', `turn_index` int NOT NULL COMMENT '话术序号',
`role` varchar(30) NOT NULL COMMENT '音频角色', `role` varchar(30) NOT NULL COMMENT '音频角色',
@@ -18,7 +18,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_audio` (
CREATE TABLE IF NOT EXISTS `aihr_practice_audio_upload` ( CREATE TABLE IF NOT EXISTS `aihr_practice_audio_upload` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`oss_id` bigint NOT NULL COMMENT 'OSS文件ID', `oss_id` bigint NOT NULL COMMENT 'OSS文件ID',
`owner_user_id` bigint NOT NULL COMMENT '上传用户ID', `owner_user_id` bigint NOT NULL COMMENT '上传用户ID',
`owner_identity` varchar(100) NOT NULL COMMENT '上传主体', `owner_identity` varchar(100) NOT NULL COMMENT '上传主体',
@@ -34,7 +34,7 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_audio_upload` (
CREATE TABLE IF NOT EXISTS `aihr_practice_calibration` ( CREATE TABLE IF NOT EXISTS `aihr_practice_calibration` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`session_id` varchar(100) NOT NULL COMMENT '训练会话ID', `session_id` varchar(100) NOT NULL COMMENT '训练会话ID',
`reviewer` varchar(100) DEFAULT NULL COMMENT '校准人', `reviewer` varchar(100) DEFAULT NULL COMMENT '校准人',
`original_score` int DEFAULT NULL COMMENT 'AI原始总分', `original_score` int DEFAULT NULL COMMENT 'AI原始总分',
@@ -57,7 +57,7 @@ EXECUTE aihr_response_latency_stmt;
DEALLOCATE PREPARE aihr_response_latency_stmt; DEALLOCATE PREPARE aihr_response_latency_stmt;
CREATE TEMPORARY TABLE IF NOT EXISTS aihr_brd_rubric_codes ( CREATE TEMPORARY TABLE IF NOT EXISTS aihr_brd_rubric_codes (
tenant_id varchar(20) NOT NULL, tenant_id varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
rubric_code varchar(100) NOT NULL, rubric_code varchar(100) NOT NULL,
PRIMARY KEY (tenant_id, rubric_code) PRIMARY KEY (tenant_id, rubric_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
@@ -3,7 +3,7 @@
CREATE TABLE IF NOT EXISTS `aihr_candidate_material` ( CREATE TABLE IF NOT EXISTS `aihr_candidate_material` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`candidate_id` varchar(80) NOT NULL COMMENT '候选人外部ID', `candidate_id` varchar(80) NOT NULL COMMENT '候选人外部ID',
`candidate_name` varchar(100) DEFAULT NULL COMMENT '候选人姓名', `candidate_name` varchar(100) DEFAULT NULL COMMENT '候选人姓名',
`material_type` varchar(50) DEFAULT NULL COMMENT '资料类型', `material_type` varchar(50) DEFAULT NULL COMMENT '资料类型',
@@ -56,7 +56,7 @@ DEALLOCATE PREPARE aihr_candidate_material_reviewed_time_stmt;
CREATE TABLE IF NOT EXISTS `aihr_interview_result` ( CREATE TABLE IF NOT EXISTS `aihr_interview_result` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`session_id` varchar(100) NOT NULL COMMENT '面试会话ID', `session_id` varchar(100) NOT NULL COMMENT '面试会话ID',
`candidate_id` varchar(80) DEFAULT NULL COMMENT '候选人ID', `candidate_id` varchar(80) DEFAULT NULL COMMENT '候选人ID',
`candidate_name` varchar(100) DEFAULT NULL COMMENT '候选人姓名', `candidate_name` varchar(100) DEFAULT NULL COMMENT '候选人姓名',
@@ -182,7 +182,7 @@ DEALLOCATE PREPARE aihr_interview_reviewed_time_stmt;
CREATE TABLE IF NOT EXISTS `aihr_candidate_employee_link` ( CREATE TABLE IF NOT EXISTS `aihr_candidate_employee_link` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`candidate_id` varchar(80) NOT NULL COMMENT '本地候选人ID', `candidate_id` varchar(80) NOT NULL COMMENT '本地候选人ID',
`ext_party_id` varchar(100) NOT NULL COMMENT '外部员工主体ID', `ext_party_id` varchar(100) NOT NULL COMMENT '外部员工主体ID',
`status` varchar(20) DEFAULT '已关联' COMMENT '关联状态', `status` varchar(20) DEFAULT '已关联' COMMENT '关联状态',
@@ -3,7 +3,7 @@
CREATE TABLE IF NOT EXISTS `aihr_knowledge_gap` ( CREATE TABLE IF NOT EXISTS `aihr_knowledge_gap` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`query_text` varchar(1000) NOT NULL COMMENT '未命中问题', `query_text` varchar(1000) NOT NULL COMMENT '未命中问题',
`category` varchar(100) DEFAULT NULL COMMENT '知识分类', `category` varchar(100) DEFAULT NULL COMMENT '知识分类',
`position` varchar(80) DEFAULT NULL COMMENT '岗位', `position` varchar(80) DEFAULT NULL COMMENT '岗位',
@@ -16,7 +16,7 @@ CREATE TABLE IF NOT EXISTS `aihr_knowledge_gap` (
CREATE TABLE IF NOT EXISTS `aihr_knowledge_answer_feedback` ( CREATE TABLE IF NOT EXISTS `aihr_knowledge_answer_feedback` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '000000' COMMENT '租户编号',
`query_text` varchar(1000) NOT NULL COMMENT '问题原文', `query_text` varchar(1000) NOT NULL COMMENT '问题原文',
`query_norm` varchar(500) NOT NULL COMMENT '规范化问题', `query_norm` varchar(500) NOT NULL COMMENT '规范化问题',
`fragment_id` bigint NOT NULL COMMENT '知识片段ID', `fragment_id` bigint NOT NULL COMMENT '知识片段ID',
@@ -4,7 +4,7 @@
CREATE TABLE IF NOT EXISTS `aihr_position_responsibility` ( CREATE TABLE IF NOT EXISTS `aihr_position_responsibility` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '000000' COMMENT '租户编号',
`position_code` varchar(80) NOT NULL COMMENT '岗位编码', `position_code` varchar(80) NOT NULL COMMENT '岗位编码',
`responsibility_text` varchar(1000) NOT NULL COMMENT '岗位职责', `responsibility_text` varchar(1000) NOT NULL COMMENT '岗位职责',
`sop_id` bigint DEFAULT NULL COMMENT '关联SOP主键(跨模块引用)', `sop_id` bigint DEFAULT NULL COMMENT '关联SOP主键(跨模块引用)',
@@ -21,7 +21,7 @@ CREATE TABLE IF NOT EXISTS `aihr_position_responsibility` (
CREATE TABLE IF NOT EXISTS `aihr_sop_applicability` ( CREATE TABLE IF NOT EXISTS `aihr_sop_applicability` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '000000' COMMENT '租户编号',
`sop_id` bigint DEFAULT NULL COMMENT '关联SOP主键(跨模块引用)', `sop_id` bigint DEFAULT NULL COMMENT '关联SOP主键(跨模块引用)',
`sop_code` varchar(100) DEFAULT NULL COMMENT '关联SOP编码', `sop_code` varchar(100) DEFAULT NULL COMMENT '关联SOP编码',
`project_type` varchar(80) DEFAULT NULL COMMENT '项目类型:住宅/公建/景区等', `project_type` varchar(80) DEFAULT NULL COMMENT '项目类型:住宅/公建/景区等',
@@ -39,7 +39,7 @@ CREATE TABLE IF NOT EXISTS `aihr_sop_applicability` (
CREATE TABLE IF NOT EXISTS `aihr_onboard_task` ( CREATE TABLE IF NOT EXISTS `aihr_onboard_task` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '000000' COMMENT '租户编号',
`ext_party_id` varchar(100) NOT NULL COMMENT '员工外部主体ID,不复制姓名', `ext_party_id` varchar(100) NOT NULL COMMENT '员工外部主体ID,不复制姓名',
`project_code` varchar(100) DEFAULT NULL COMMENT '项目编码', `project_code` varchar(100) DEFAULT NULL COMMENT '项目编码',
`position_code` varchar(80) DEFAULT NULL COMMENT '岗位编码', `position_code` varchar(80) DEFAULT NULL COMMENT '岗位编码',
@@ -61,7 +61,7 @@ CREATE TABLE IF NOT EXISTS `aihr_onboard_task` (
CREATE TABLE IF NOT EXISTS `aihr_qualification_gate` ( CREATE TABLE IF NOT EXISTS `aihr_qualification_gate` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键', `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
`tenant_id` varchar(20) NOT NULL DEFAULT '000000' COMMENT '租户编号', `tenant_id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '000000' COMMENT '租户编号',
`ext_party_id` varchar(100) NOT NULL COMMENT '员工外部主体ID,不复制姓名', `ext_party_id` varchar(100) NOT NULL COMMENT '员工外部主体ID,不复制姓名',
`project_code` varchar(100) DEFAULT NULL COMMENT '项目编码', `project_code` varchar(100) DEFAULT NULL COMMENT '项目编码',
`position_code` varchar(80) NOT NULL COMMENT '岗位编码', `position_code` varchar(80) NOT NULL COMMENT '岗位编码',
@@ -0,0 +1,70 @@
-- Keep AIHR tenant identifiers compatible with the framework tenant contract.
-- This migration derives the target charset/collation from sys_oss.tenant_id,
-- preserves each AIHR tenant_id column's nullability/default/comment, and is idempotent.
DROP PROCEDURE IF EXISTS aihr_align_tenant_collation;
DELIMITER $$
CREATE PROCEDURE aihr_align_tenant_collation()
BEGIN
DECLARE done int DEFAULT 0;
DECLARE target_charset varchar(64);
DECLARE target_collation varchar(64);
DECLARE current_table varchar(64);
DECLARE current_type text;
DECLARE current_nullable varchar(3);
DECLARE current_default text;
DECLARE current_comment text;
DECLARE tenant_columns CURSOR FOR
SELECT table_name, column_type, is_nullable, column_default, column_comment
FROM information_schema.columns
WHERE table_schema = DATABASE()
AND LEFT(table_name, 5) = 'aihr_'
AND column_name = 'tenant_id'
AND collation_name <> target_collation
ORDER BY table_name;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
SELECT character_set_name, collation_name
INTO target_charset, target_collation
FROM information_schema.columns
WHERE table_schema = DATABASE()
AND table_name = 'sys_oss'
AND column_name = 'tenant_id'
LIMIT 1;
IF target_charset IS NULL OR target_collation IS NULL THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'sys_oss.tenant_id charset/collation contract is missing';
END IF;
OPEN tenant_columns;
align_loop: LOOP
FETCH tenant_columns
INTO current_table, current_type, current_nullable, current_default, current_comment;
IF done = 1 THEN
LEAVE align_loop;
END IF;
SET @aihr_tenant_ddl = CONCAT(
'ALTER TABLE `', REPLACE(current_table, '`', '``'),
'` MODIFY COLUMN `tenant_id` ', current_type,
' CHARACTER SET `', REPLACE(target_charset, '`', '``'),
'` COLLATE `', REPLACE(target_collation, '`', '``'), '`',
IF(current_nullable = 'YES', ' NULL', ' NOT NULL'),
IF(current_default IS NULL, '', CONCAT(' DEFAULT ', QUOTE(current_default))),
' COMMENT ', QUOTE(COALESCE(current_comment, ''))
);
PREPARE aihr_tenant_statement FROM @aihr_tenant_ddl;
EXECUTE aihr_tenant_statement;
DEALLOCATE PREPARE aihr_tenant_statement;
END LOOP;
CLOSE tenant_columns;
END$$
DELIMITER ;
CALL aihr_align_tenant_collation();
DROP PROCEDURE aihr_align_tenant_collation;