From f8796bc55b1deda3acf344b05e40adcef70f9fc0 Mon Sep 17 00:00:00 2001 From: Zachary Wasserman Date: Mon, 11 Jun 2018 07:31:39 -0700 Subject: [PATCH] Fix timezone in MySQL connection string (#1818) Fixes #1643 --- server/datastore/mysql/mysql.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/datastore/mysql/mysql.go b/server/datastore/mysql/mysql.go index 6e3e77f1d3..f405556c47 100644 --- a/server/datastore/mysql/mysql.go +++ b/server/datastore/mysql/mysql.go @@ -6,6 +6,7 @@ import ( "database/sql" "fmt" "io/ioutil" + "net/url" "time" "github.com/WatchBeam/clock" @@ -271,12 +272,14 @@ func registerTLS(config config.MysqlConfig) error { // generateMysqlConnectionString returns a MySQL connection string using the // provided configuration. func generateMysqlConnectionString(conf config.MysqlConfig) string { + tz := url.QueryEscape("'-00:00'") dsn := fmt.Sprintf( - "%s:%s@(%s)/%s?charset=utf8mb4&parseTime=true&loc=UTC&clientFoundRows=true&allowNativePasswords=true", + "%s:%s@(%s)/%s?charset=utf8mb4&parseTime=true&loc=UTC&time_zone=%s&clientFoundRows=true&allowNativePasswords=true", conf.Username, conf.Password, conf.Address, conf.Database, + tz, ) if conf.TLSConfig != "" {