aboutsummaryrefslogtreecommitdiffstats
path: root/models/models.go
diff options
context:
space:
mode:
authorTomcat <tomcat@tomcat-lily.com>2015-03-14 02:21:47 +0800
committerTomcat <tomcat@tomcat-lily.com>2015-03-14 02:21:47 +0800
commit2bfe2ddb6dcc9ed3e8e4ca7f04f1b86a3d106a6d (patch)
treef632e57be17a3d818482b2427ee1f032a19bebda /models/models.go
parentb72e75e522dda88dcbf7b064b8af3c495deb0595 (diff)
downloadgitea-2bfe2ddb6dcc9ed3e8e4ca7f04f1b86a3d106a6d.tar.gz
gitea-2bfe2ddb6dcc9ed3e8e4ca7f04f1b86a3d106a6d.zip
Add mysql unix socket support.
If the host setting looks like a unix socket (leading by char '/'), will use unix(host) as connection string
Diffstat (limited to 'models/models.go')
-rw-r--r--models/models.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/models/models.go b/models/models.go
index a9436fca85..b7986fed11 100644
--- a/models/models.go
+++ b/models/models.go
@@ -89,8 +89,13 @@ func getEngine() (*xorm.Engine, error) {
cnnstr := ""
switch DbCfg.Type {
case "mysql":
- cnnstr = fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8",
- DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name)
+ if DbCfg.Host[0] == '/' { // looks like a unix socket
+ cnnstr = fmt.Sprintf("%s:%s@unix(%s)/%s?charset=utf8",
+ DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name)
+ } else {
+ cnnstr = fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8",
+ DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name)
+ }
case "postgres":
var host, port = "127.0.0.1", "5432"
fields := strings.Split(DbCfg.Host, ":")