Describe the feature
The Exec
method of the generics API should return the DB interface so that we can use it to get additional information about what was executed.
Motivation
Right now, when using the traditional API, the Exec
method returns a DB interface. This is useful when we want to do an UPDATE
using Exec
and we need the number of rows affected, which we can get from db.RowsAffected
.
But the Exec
method for the generics API only returns the error, making it impossible to get any information about what was just executed.
See https://github.com/go-gorm/gorm/blob/b289563d54de23e742e2a4cba9d77af01f641b0f/generics.go#L191-L194
My suggestion would be to do this instead
func (c *g[T]) Exec(ctx context.Context, sql string, values ...interface{}) *DB {
var r T
return c.apply(ctx).Model(r).Exec(sql, values...)
}
Related Issues
None