修复使用 postgres 数据库时,位置参数重复,导致参数与值不对应的问题。 (#960)
* 修复使用 postgres 数据库时,位置参数重复,导致参数与值不对应的问题。 * 修复使用 postgres 数据库时,位置参数重复,导致参数与值不对应的问题。 Co-authored-by: toven <toven@advan.onaliyun.com>
This commit is contained in:
@@ -125,7 +125,7 @@ func RawFieldNames(in interface{}, postgresSql ...bool) []string {
|
||||
func PostgreSqlJoin(elems []string) string {
|
||||
b := new(strings.Builder)
|
||||
for index, e := range elems {
|
||||
b.WriteString(fmt.Sprintf("%s = $%d, ", e, index+1))
|
||||
b.WriteString(fmt.Sprintf("%s = $%d, ", e, index+2))
|
||||
}
|
||||
|
||||
if b.Len() == 0 {
|
||||
|
||||
@@ -121,5 +121,5 @@ func TestBuildSqlLike(t *testing.T) {
|
||||
|
||||
func TestJoin(t *testing.T) {
|
||||
ret := PostgreSqlJoin([]string{"name", "age"})
|
||||
assert.Equal(t, "name = $1, age = $2", ret)
|
||||
assert.Equal(t, "name = $2, age = $3", ret)
|
||||
}
|
||||
|
||||
@@ -33,7 +33,11 @@ func genUpdate(table Table, withCache, postgreSql bool) (string, string, error)
|
||||
keyVariableSet.AddStr(key.KeyLeft)
|
||||
}
|
||||
|
||||
expressionValues = append(expressionValues, "data."+table.PrimaryKey.Name.ToCamel())
|
||||
if postgreSql {
|
||||
expressionValues = append([]string{"data." + table.PrimaryKey.Name.ToCamel()}, expressionValues...)
|
||||
} else {
|
||||
expressionValues = append(expressionValues, "data."+table.PrimaryKey.Name.ToCamel())
|
||||
}
|
||||
camelTableName := table.Name.ToCamel()
|
||||
text, err := util.LoadTemplate(category, updateTemplateFile, template.Update)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user