# loan-pricing collation 统一实施记录 ## 本次改动 - 将目标数据库 `116.62.17.81:3307/loan-pricing` 的数据库默认排序规则调整为 `utf8mb4_general_ci` - 将目标数据库全部 33 张表的表级默认排序规则统一为 `utf8mb4_general_ci` - 修改以下建库和建表脚本,统一默认排序规则为 `utf8mb4_general_ci` - `sql/loan_pricing_schema_20260328.sql` - `sql/loan_pricing_workflow.sql` - `sql/model_corp.sql` - `sql/model_retail.sql` ## 执行方式 1. 执行 `ALTER DATABASE \`loan-pricing\` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci` 2. 对全部现有表执行 `ALTER TABLE ... DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci` 3. 将脚本中的 `DEFAULT CHARSET=utf8mb4` 统一补齐为 `DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci` 4. 将脚本中遗留的 `utf8mb4_unicode_ci` 替换为 `utf8mb4_general_ci` ## 说明 - Quartz 相关表存在外键约束,直接执行 `CONVERT TO CHARACTER SET` 会触发外键列兼容性错误 - 因此数据库侧采用“统一数据库默认排序规则 + 统一表级默认排序规则”的方式完成所有表的 collation 统一 - 业务建表脚本已同步为 `utf8mb4_general_ci`,后续重建库时不会再回落到其他 collation ## 验证目标 - 数据库默认排序规则为 `utf8mb4_general_ci` - 所有表的 `TABLE_COLLATION` 为 `utf8mb4_general_ci` - 脚本中不再出现 `utf8mb4_unicode_ci`