@@ -8,8 +8,12 @@ package mysqlconfig
8
8
9
9
import (
10
10
"fmt"
11
+ "net/url"
11
12
)
12
13
14
+ // insert TIMESTAMP in UTC
15
+ var utcTimeZoneQueryStr = fmt .Sprintf ("time_zone=%v" , url .QueryEscape ("'+00:00'" ))
16
+
13
17
// ConnectionConfig is the minimal configuration required to connect to a MySQL server
14
18
type ConnectionConfig struct {
15
19
Host string
@@ -19,19 +23,14 @@ type ConnectionConfig struct {
19
23
Charset string
20
24
}
21
25
22
- func (c * ConnectionConfig ) GetDBUriByDbName (databaseName string ) string {
23
- return fmt .Sprintf ("%s:%s@tcp(%s:%d)/%s?charset=%v&maxAllowedPacket=0" , c .User , c .Password , c .Host , c .Port , databaseName , c .Charset )
24
- }
25
-
26
26
func (c * ConnectionConfig ) GetDBUri () string {
27
- if "" == c . Charset {
27
+ if c . Charset == "" {
28
28
c .Charset = "utf8mb4"
29
29
}
30
- return fmt .Sprintf ("%s:%s@tcp(%s:%d)/?timeout=5s&tls=false&autocommit=true&charset=%v&multiStatements=true&maxAllowedPacket=0" , c .User , c .Password , c .Host , c .Port , c .Charset )
31
- }
32
30
33
- func (c * ConnectionConfig ) GetSingletonDBUri () string {
34
- return fmt .Sprintf ("%s:%s@tcp(%s:%d)/?timeout=5s&tls=false&autocommit=false&charset=%v&multiStatements=true&maxAllowedPacket=0" , c .User , c .Password , c .Host , c .Port , c .Charset )
31
+ return fmt .Sprintf ("%s:%s@tcp(%s:%d)/?timeout=5s&tls=false&autocommit=true&charset=%v&%v&%v&%v" ,
32
+ c .User , c .Password , c .Host , c .Port , c .Charset , utcTimeZoneQueryStr ,
33
+ "multiStatements=true" , "maxAllowedPacket=0" )
35
34
}
36
35
37
36
func (c * ConnectionConfig ) GetAddr () string {
0 commit comments