@@ -8,8 +8,12 @@ package mysqlconfig
88
99import (
1010 "fmt"
11+ "net/url"
1112)
1213
14+ // insert TIMESTAMP in UTC
15+ var utcTimeZoneQueryStr = fmt .Sprintf ("time_zone=%v" , url .QueryEscape ("'+00:00'" ))
16+
1317// ConnectionConfig is the minimal configuration required to connect to a MySQL server
1418type ConnectionConfig struct {
1519 Host string
@@ -19,19 +23,14 @@ type ConnectionConfig struct {
1923 Charset string
2024}
2125
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-
2626func (c * ConnectionConfig ) GetDBUri () string {
27- if "" == c . Charset {
27+ if c . Charset == "" {
2828 c .Charset = "utf8mb4"
2929 }
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- }
3230
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" )
3534}
3635
3736func (c * ConnectionConfig ) GetAddr () string {
0 commit comments