From 48a4062f75edb912575c7ec26f681b5f398aa822 Mon Sep 17 00:00:00 2001 From: Chao Deng Date: Tue, 19 Dec 2017 15:52:27 +0800 Subject: [PATCH] prevent net/url encoding the user password --- database/mysql/mysql.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/database/mysql/mysql.go b/database/mysql/mysql.go index 428fcb8b3..ea4d2adc8 100644 --- a/database/mysql/mysql.go +++ b/database/mysql/mysql.go @@ -90,6 +90,7 @@ func WithInstance(instance *sql.DB, config *Config) (database.Driver, error) { } func (m *Mysql) Open(url string) (database.Driver, error) { + url = strings.TrimPrefix(url, "mysql://") purl, err := nurl.Parse(url) if err != nil { return nil, err @@ -99,8 +100,7 @@ func (m *Mysql) Open(url string) (database.Driver, error) { q.Set("multiStatements", "true") purl.RawQuery = q.Encode() - db, err := sql.Open("mysql", strings.Replace( - migrate.FilterCustomQuery(purl).String(), "mysql://", "", 1)) + db, err := sql.Open("mysql", migrate.FilterCustomQuery(purl).String()) if err != nil { return nil, err }