mirror of https://github.com/go-gorm/gorm.git
Add test for keeping float precision (#2442)
Add test for keeping float precision
This commit is contained in:
commit
11caf9f072
18
main_test.go
18
main_test.go
|
@ -1164,6 +1164,24 @@ func TestCountWithQueryOption(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestFloatColumnPrecision(t *testing.T) {
|
||||
if dialect := os.Getenv("GORM_DIALECT"); dialect != "mysql" && dialect != "sqlite" {
|
||||
t.Skip()
|
||||
}
|
||||
|
||||
type FloatTest struct {
|
||||
ID string `gorm:"primary_key"`
|
||||
FloatValue float64 `gorm:"column:float_value" sql:"type:float(255,5);"`
|
||||
}
|
||||
DB.DropTable(&FloatTest{})
|
||||
DB.AutoMigrate(&FloatTest{})
|
||||
|
||||
data := FloatTest{ID: "uuid", FloatValue: 112.57315}
|
||||
if err := DB.Save(&data).Error; err != nil || data.ID != "uuid" || data.FloatValue != 112.57315 {
|
||||
t.Errorf("Float value should not lose precision")
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkGorm(b *testing.B) {
|
||||
b.N = 2000
|
||||
for x := 0; x < b.N; x++ {
|
||||
|
|
Loading…
Reference in New Issue