From 0a6bbc2efd6bb4468c72cff2a70cd29350a50b75 Mon Sep 17 00:00:00 2001 From: kolaente Date: Mon, 17 Apr 2023 11:12:21 +0200 Subject: [PATCH] fix: using mysql via a socket --- pkg/db/db.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkg/db/db.go b/pkg/db/db.go index 30e2108ab..734dc28aa 100644 --- a/pkg/db/db.go +++ b/pkg/db/db.go @@ -112,11 +112,16 @@ func RegisterTableStructsForCache(val interface{}) { func initMysqlEngine() (engine *xorm.Engine, err error) { // We're using utf8mb here instead of just utf8 because we want to use non-BMP characters. // See https://stackoverflow.com/a/30074553/10924593 for more info. + host := fmt.Sprintf("tcp(%s)", config.DatabaseHost.GetString()) + if config.DatabaseHost.GetString()[0] == '/' { // looks like a unix socket + host = config.DatabaseHost.GetString() + } + connStr := fmt.Sprintf( - "%s:%s@tcp(%s)/%s?charset=utf8mb4&parseTime=true&tls=%s", + "%s:%s@%s/%s?charset=utf8mb4&parseTime=true&tls=%s", config.DatabaseUser.GetString(), config.DatabasePassword.GetString(), - config.DatabaseHost.GetString(), + host, config.DatabaseDatabase.GetString(), config.DatabaseTLS.GetString()) engine, err = xorm.NewEngine("mysql", connStr)