gen
gen copied to clipboard
`updated_at` not touched when generating a query via property obtained from `Query` in transaction of `ReadDB()` / `WriteDB()` when using gorm.io/gen
GORM Playground Link
https://github.com/go-gorm/playground/pull/785
Description
Using gorm.io/[email protected], gorm.io/[email protected], updated_at not touched in generated query when build via property obtained from Query in transaction of ReadDB() / WriteDB():
// expected behavior
query.WriteDB().Transaction(func(tx *q.Query) error {
user := tx.User
// UPDATE `users` SET `name`=?,`updated_at`=? WHERE `users`.`name` = ? AND `users`.`deleted_at` IS NULL
user.WithContext(ctx).Where(user.Name.Eq(name)).UpdateSimple(user.Name.Value("test2"))
return nil
})
// actual behavior
query.WriteDB().Transaction(func(tx *q.Query) error {
user := tx.User
// UPDATE `users` SET `name`=? WHERE `users`.`name` = ? AND `users`.`deleted_at` IS NULL
user.WithContext(ctx).Where(user.Name.Eq(name)).UpdateSimple(user.Name.Value("test2"))
return nil
})
When using without ReadDB() / WriteDB(), gorm generates expected SQL:
query.Transaction(func(tx *q.Query) error {
user := tx.User
// UPDATE `users` SET `name`=?,`updated_at`=? WHERE `users`.`name` = ? AND `users`.`deleted_at` IS NULL
user.WithContext(ctx).Where(user.Name.Eq(name)).UpdateSimple(user.Name.Value("test2"))
return nil
})