Closed juniaoshaonian closed 1 year ago
func TestColumnType(t *testing.T) {
db, err := sql.Open("mysql", "root:root@tcp(localhost:13306)/integration_test")
require.NoError(t, err)
defer func() {
db.Exec("DELETE FROM `order`")
db.Exec("DELETE FROM `item`")
db.Exec("DELETE FROM `order_detail`")
}()
o, err := eorm.Open("mysql", single.NewDB(db))
require.NoError(t, err)
initSql(o, t)
rows, err := db.Query("SELECT * FROM `order` limit 1")
require.NoError(t, err)
types, err := rows.ColumnTypes()
require.NoError(t, err)
var vals []any
for _, typ := range types {
goType := typ.ScanType()
zero := reflect.New(goType)
vals = append(vals, zero.Interface())
}
rows.Next()
err = rows.Scan(vals...)
require.NoError(t, err)
fmt.Println(vals)
}
确实可以拿到。但是我没有进一步考察,还要考虑一些数据库上奇怪的类型,尤其是 big int, big unsign int 之类的,在转为 Go 类型的时候会不会有问题。
@juniaoshaonian deepsource 有一个小问题,你修复一下。 @longyue0521 确认没有问题之后你就可以合并了。
确认没有问题之后你就可以合并了。
OK
@juniaoshaonian golangci-lint 问题修复一下
@juniaoshaonian golangci-lint 问题修复一下
奇怪了我就改了个变量名呀,昨天还可以的
Codecov Report
92.15% <92.15%> (ø)
100.00% <100.00%> (ø)
100.00% <100.00%> (ø)
100.00% <100.00%> (ø)
100.00% <100.00%> (ø)
100.00% <100.00%> (ø)
100.00% <100.00%> (ø)
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more