@@ -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