mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-07-02 18:01:23 +08:00
🐛 fix(oracle): 修复DDL注释拼接缺少分号与换行
- 为 Oracle 建表 DDL 追加注释前补齐语句结束符并保留空行分隔 - 修复 COMMENT ON TABLE/COLUMN 与 CREATE TABLE 粘连导致复制后无法直接执行的问题 - 补充后端 Oracle 建表语句与前端 DDL 格式化回归测试
This commit is contained in:
committed by
tianqijiuyun-latiao
parent
d2c4160c6d
commit
32c3ba017e
@@ -317,4 +317,7 @@ ORDER BY c.column_id`] = oracleRecordingQueryResult{
|
||||
t.Fatalf("expected DDL to contain %q, got: %s", want, ddl)
|
||||
}
|
||||
}
|
||||
if !strings.Contains(ddl, ");\n\nCOMMENT ON TABLE") {
|
||||
t.Fatalf("expected Oracle DDL comments to be separated by a statement terminator and blank line, got: %s", ddl)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -589,7 +589,18 @@ func (o *OracleDB) appendOracleCommentDDL(baseDDL string, dbName string, tableNa
|
||||
if len(commentLines) == 0 {
|
||||
return baseDDL
|
||||
}
|
||||
return strings.TrimRight(baseDDL, " \t\r\n") + "\n" + strings.Join(commentLines, "\n")
|
||||
return ensureOracleDDLStatementTerminator(baseDDL) + "\n\n" + strings.Join(commentLines, "\n")
|
||||
}
|
||||
|
||||
func ensureOracleDDLStatementTerminator(ddl string) string {
|
||||
trimmed := strings.TrimRight(ddl, " \t\r\n")
|
||||
if trimmed == "" {
|
||||
return trimmed
|
||||
}
|
||||
if strings.HasSuffix(trimmed, ";") || strings.HasSuffix(trimmed, "/") {
|
||||
return trimmed
|
||||
}
|
||||
return trimmed + ";"
|
||||
}
|
||||
|
||||
func (o *OracleDB) fetchOracleTableComment(schema string, table string) string {
|
||||
|
||||
Reference in New Issue
Block a user