@@ -19,13 +19,14 @@ import (
19
19
20
20
// GMMBuilder struct for building and managing the mock MySQL server
21
21
type GMMBuilder struct {
22
- dbName string
23
- port int
24
- server * server.Server
25
- sqlDB * sql.DB
26
- gormDB * gorm.DB
27
- err error
28
- started atomic.Bool
22
+ dbName string
23
+ port int
24
+ server * server.Server
25
+ sqlDB * sql.DB
26
+ gormDB * gorm.DB
27
+ err error
28
+ started atomic.Bool
29
+ logSilent bool
29
30
30
31
tables []schema.Tabler
31
32
models []schema.Tabler
@@ -37,11 +38,12 @@ type GMMBuilder struct {
37
38
// if db name is not provided, gmm would generate a random db name.
38
39
func Builder (db ... string ) * GMMBuilder {
39
40
b := & GMMBuilder {
40
- tables : make ([]schema.Tabler , 0 ),
41
- models : make ([]schema.Tabler , 0 ),
42
- sqlStmts : make ([]string , 0 ),
43
- sqlFiles : make ([]string , 0 ),
44
- started : atomic.Bool {},
41
+ tables : make ([]schema.Tabler , 0 ),
42
+ models : make ([]schema.Tabler , 0 ),
43
+ sqlStmts : make ([]string , 0 ),
44
+ sqlFiles : make ([]string , 0 ),
45
+ started : atomic.Bool {},
46
+ logSilent : true ,
45
47
}
46
48
dbName := "gmm-test-db-" + uuid .NewString ()[:6 ]
47
49
if len (db ) > 0 {
@@ -58,6 +60,12 @@ func (b *GMMBuilder) Port(port int) *GMMBuilder {
58
60
return b
59
61
}
60
62
63
+ // LogSilent sets the log mode for the MySQL server, default is silent mode.
64
+ func (b * GMMBuilder ) LogSilent (logSilent bool ) * GMMBuilder {
65
+ b .logSilent = logSilent
66
+ return b
67
+ }
68
+
61
69
// Build initializes and starts the MySQL server, returns handles to SQL and Gorm DB
62
70
func (b * GMMBuilder ) Build () (sDB * sql.DB , gDB * gorm.DB , shutdown func (), err error ) {
63
71
if b .err != nil {
@@ -104,7 +112,7 @@ func (b *GMMBuilder) Build() (sDB *sql.DB, gDB *gorm.DB, shutdown func(), err er
104
112
}
105
113
106
114
// Create client and connect to server
107
- b .sqlDB , b .gormDB , err = createMySQLClient (b .port , b .dbName )
115
+ b .sqlDB , b .gormDB , err = createMySQLClient (b .port , b .dbName , b . logSilent )
108
116
if err != nil {
109
117
b .err = fmt .Errorf ("failed to create sql client: %w" , err )
110
118
return nil , nil , nil , b .err
0 commit comments