7
7
"math/rand"
8
8
"os"
9
9
"reflect"
10
+ "strconv"
10
11
"strings"
11
12
"testing"
12
13
"time"
@@ -1420,7 +1421,7 @@ func TestMigrateSameEmbeddedFieldName(t *testing.T) {
1420
1421
AssertEqual (t , nil , err )
1421
1422
}
1422
1423
1423
- func TestMigrateDefaultNullString (t * testing.T ) {
1424
+ func TestMigrateWithDefaultValue (t * testing.T ) {
1424
1425
if DB .Dialector .Name () == "sqlserver" {
1425
1426
// sqlserver driver treats NULL and 'NULL' the same
1426
1427
t .Skip ("skip sqlserver" )
@@ -1434,6 +1435,7 @@ func TestMigrateDefaultNullString(t *testing.T) {
1434
1435
type NullStringModel struct {
1435
1436
ID uint
1436
1437
Content string `gorm:"default:'null'"`
1438
+ Active bool `gorm:"default:false"`
1437
1439
}
1438
1440
1439
1441
tableName := "null_string_model"
@@ -1454,6 +1456,14 @@ func TestMigrateDefaultNullString(t *testing.T) {
1454
1456
AssertEqual (t , defVal , "null" )
1455
1457
AssertEqual (t , ok , true )
1456
1458
1459
+ columnType2 , err := findColumnType (tableName , "active" )
1460
+ AssertEqual (t , err , nil )
1461
+
1462
+ defVal , ok = columnType2 .DefaultValue ()
1463
+ bv , _ := strconv .ParseBool (defVal )
1464
+ AssertEqual (t , bv , false )
1465
+ AssertEqual (t , ok , true )
1466
+
1457
1467
// default 'null' -> 'null'
1458
1468
session := DB .Session (& gorm.Session {Logger : Tracer {
1459
1469
Logger : DB .Config .Logger ,
0 commit comments