fix: fixed some issues

This commit is contained in:
meilin.huang
2025-02-20 17:07:13 +08:00
parent aa393590b2
commit 6072bcb111
30 changed files with 120 additions and 89 deletions

View File

@@ -134,7 +134,7 @@ func (sg *SQLGenerator) GenInsert(tableName string, columns []dbi.Column, values
uniqueCols = append(uniqueCols, col.ColumnName)
caseSqls = append(caseSqls, fmt.Sprintf("( T1.%s = T2.%s )", quote(col.ColumnName), quote(col.ColumnName)))
}
if col.IsIdentity {
if col.AutoIncrement {
// 自增字段不放入insert内即使是设置了identity_insert on也不起作用
identityCols = append(identityCols, quote(col.ColumnName))
}
@@ -186,7 +186,7 @@ func (sg *SQLGenerator) GenInsert(tableName string, columns []dbi.Column, values
func (msg *SQLGenerator) genColumnBasicSql(quoter dbi.Quoter, column dbi.Column) string {
colName := quoter.Quote(column.ColumnName)
if column.IsIdentity {
if column.AutoIncrement {
// 如果是自增不需要设置默认值和空值自增列数据类型必须是number
return fmt.Sprintf(" %s NUMBER generated by default as IDENTITY", colName)
}
@@ -214,7 +214,7 @@ func (sg *SQLGenerator) GenerateTableOtherDDL(tableInfo dbi.Table, quoteTableNam
func (sg *SQLGenerator) Oracle11GenerateTableOtherDDL(tableInfo dbi.Table, quoteTableName string, columns []dbi.Column) []string {
result := make([]string, 0)
for _, col := range columns {
if col.IsIdentity {
if col.AutoIncrement {
seqName := fmt.Sprintf("%s_%s_seq", tableInfo.TableName, col.ColumnName)
trgName := fmt.Sprintf("%s_%s_trg", tableInfo.TableName, col.ColumnName)
result = append(result, fmt.Sprintf("CREATE SEQUENCE %s START WITH 1 INCREMENT BY 1", seqName))