31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
|
|
# 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`
|