Commit 85e621ea80ed2baba84234765eaf16ed04cd937f
1 parent
21453581
fix(sql): 修复 PostgreSQL 转换裸 CHAR 时的默认长度
- 将未指定长度的 CHAR 转换为 varchar(1) - 保留显式正长度,补齐 #1289 的转换边界
Showing
1 changed file
with
2 additions
and
1 deletions
sql/tools/convertor.py
| @@ -413,7 +413,8 @@ class PostgreSQLConvertor(Convertor): | @@ -413,7 +413,8 @@ class PostgreSQLConvertor(Convertor): | ||
| 413 | type = type.lower() | 413 | type = type.lower() |
| 414 | 414 | ||
| 415 | if type in ("varchar", "char"): | 415 | if type in ("varchar", "char"): |
| 416 | - return f"varchar({size})" | 416 | + # MySQL 中未指定长度的 char 等同于 char(1) |
| 417 | + return f"varchar({size or 1})" | ||
| 417 | if type in ("int", "int unsigned", "int unsigned zerofill"): | 418 | if type in ("int", "int unsigned", "int unsigned zerofill"): |
| 418 | return "int4" | 419 | return "int4" |
| 419 | if type in ("bigint", "bigint unsigned"): | 420 | if type in ("bigint", "bigint unsigned"): |