1.6 KiB
1.6 KiB
员工招聘列表排序规则冲突修复实施计划
保存路径确认
- 路径:
docs/plans/backend/2026-04-22-staff-recruitment-collation-fix-backend-implementation.md - 归类:后端实施计划
背景
- 员工招聘列表查询执行
ccdi_staff_recruitment与ccdi_staff_recruitment_work的recruit_id关联时,报错Illegal mix of collations (utf8mb4_0900_ai_ci) and (utf8mb4_general_ci)。 - 现有招聘主表已被纳入全库统一排序规则脚本,但历史工作经历子表在建表时未显式声明
utf8mb4_general_ci,且未被纳入统一修复脚本,导致在 MySQL 8 环境中可能沿用默认utf8mb4_0900_ai_ci。
实施范围
- 后端 MyBatis 查询 XML
- 招聘相关 SQL 建表脚本
- 数据库增量迁移脚本
实施步骤
- 修改招聘列表查询 SQL,在
ccdi_staff_recruitment_work.recruit_id聚合与关联时显式使用utf8mb4_general_ci,先恢复查询可用性。 - 修正
2026-04-15-add-staff-recruitment-social-work-summary.sql,为ccdi_staff_recruitment_work建表语句补齐COLLATE=utf8mb4_general_ci。 - 补充增量脚本,将现有库中的
ccdi_staff_recruitment_work转换为utf8mb4_general_ci。 - 更新全库统一排序规则脚本,将该表纳入统一修复范围,避免后续漏执行。
- 编译受影响模块,确认 Mapper XML 与资源装配正常。
验证要点
selectRecruitmentPage查询不再因recruit_id关联报排序规则冲突。ccdi_staff_recruitment_work表级与字符字段排序规则统一为utf8mb4_general_ci。mvn -pl ccdi-info-collection -am compile通过。