Skip to content

Commit bb1708e

Browse files
committed
Support connecting with a unix domain socket
Fixes #285
1 parent ea1580b commit bb1708e

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

pkg/database/connection.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package database
22

33
import (
44
"fmt"
5+
"strings"
56

67
mysql "github.com/go-sql-driver/mysql"
78
)
@@ -17,8 +18,13 @@ func (c Connection) MySQL() string {
1718
config := mysql.NewConfig()
1819
config.User = c.User
1920
config.Passwd = c.Pass
20-
config.Net = "tcp"
21-
config.Addr = fmt.Sprintf("%s:%d", c.Host, c.Port)
21+
if strings.HasPrefix(c.Host, "/") {
22+
config.Net = "unix"
23+
config.Addr = c.Host
24+
} else {
25+
config.Net = "tcp"
26+
config.Addr = fmt.Sprintf("%s:%d", c.Host, c.Port)
27+
}
2228
config.ParseTime = true
2329
return config.FormatDSN()
2430
}

pkg/database/schemas.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ func init() {
1717
}
1818

1919
func GetSchemas(dbconn Connection) ([]string, error) {
20-
db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@tcp(%s:%d)/", dbconn.User, dbconn.Pass, dbconn.Host, dbconn.Port))
20+
db, err := sql.Open("mysql", dbconn.MySQL())
2121
if err != nil {
2222
return nil, fmt.Errorf("failed to open connection to database: %v", err)
2323
}

0 commit comments

Comments
 (0)