From 11965f08dbfe6a4a1f1722cd1a2ae8b68e1c83ae Mon Sep 17 00:00:00 2001 From: Laurence Jones Date: Thu, 8 Dec 2022 09:33:08 +0000 Subject: [PATCH] Add socket support to mysql (#1911) --- pkg/database/database.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/database/database.go b/pkg/database/database.go index 4a7a9c71d..5dc247616 100644 --- a/pkg/database/database.go +++ b/pkg/database/database.go @@ -89,7 +89,13 @@ func NewClient(config *csconfig.DatabaseCfg) (*Client, error) { } client = ent.NewClient(ent.Driver(drv), entOpt) case "mysql": - drv, err := getEntDriver("mysql", dialect.MySQL, fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?parseTime=True", config.User, config.Password, config.Host, config.Port, config.DbName), config) + connString := "" + if config.Host == "" && config.Port == 0 && config.DbPath != "" { + connString = fmt.Sprintf("%s:%s@unix(%s)/%s?parseTime=True", config.User, config.Password, config.DbPath, config.DbName) + } else { + connString = fmt.Sprintf("%s:%s@tcp(%s:%d)/%s?parseTime=True", config.User, config.Password, config.Host, config.Port, config.DbName) + } + drv, err := getEntDriver("mysql", dialect.MySQL, connString, config) if err != nil { return &Client{}, fmt.Errorf("failed opening connection to mysql: %v", err) }