|
@@ -97,14 +97,18 @@ func LoadConfigs() {
|
|
|
|
|
|
func getEngine() (*xorm.Engine, error) {
|
|
func getEngine() (*xorm.Engine, error) {
|
|
cnnstr := ""
|
|
cnnstr := ""
|
|
|
|
+ var Param string = "?"
|
|
|
|
+ if strings.Contains(DbCfg.Name,Param) {
|
|
|
|
+ Param="&"
|
|
|
|
+ }
|
|
switch DbCfg.Type {
|
|
switch DbCfg.Type {
|
|
case "mysql":
|
|
case "mysql":
|
|
if DbCfg.Host[0] == '/' { // looks like a unix socket
|
|
if DbCfg.Host[0] == '/' { // looks like a unix socket
|
|
- cnnstr = fmt.Sprintf("%s:%s@unix(%s)/%s?charset=utf8&parseTime=true",
|
|
|
|
- DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name)
|
|
|
|
|
|
+ cnnstr = fmt.Sprintf("%s:%s@unix(%s)/%s%scharset=utf8&parseTime=true",
|
|
|
|
+ DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name, Param)
|
|
} else {
|
|
} else {
|
|
- cnnstr = fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8&parseTime=true",
|
|
|
|
- DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name)
|
|
|
|
|
|
+ cnnstr = fmt.Sprintf("%s:%s@tcp(%s)/%s%scharset=utf8&parseTime=true",
|
|
|
|
+ DbCfg.User, DbCfg.Passwd, DbCfg.Host, DbCfg.Name, Param)
|
|
}
|
|
}
|
|
case "postgres":
|
|
case "postgres":
|
|
var host, port = "127.0.0.1", "5432"
|
|
var host, port = "127.0.0.1", "5432"
|
|
@@ -115,8 +119,8 @@ func getEngine() (*xorm.Engine, error) {
|
|
if len(fields) > 1 && len(strings.TrimSpace(fields[1])) > 0 {
|
|
if len(fields) > 1 && len(strings.TrimSpace(fields[1])) > 0 {
|
|
port = fields[1]
|
|
port = fields[1]
|
|
}
|
|
}
|
|
- cnnstr = fmt.Sprintf("postgres://%s:%s@%s:%s/%s?sslmode=%s",
|
|
|
|
- url.QueryEscape(DbCfg.User), url.QueryEscape(DbCfg.Passwd), host, port, DbCfg.Name, DbCfg.SSLMode)
|
|
|
|
|
|
+ cnnstr = fmt.Sprintf("postgres://%s:%s@%s:%s/%s%ssslmode=%s",
|
|
|
|
+ url.QueryEscape(DbCfg.User), url.QueryEscape(DbCfg.Passwd), host, port, DbCfg.Name, Param, DbCfg.SSLMode)
|
|
case "sqlite3":
|
|
case "sqlite3":
|
|
if !EnableSQLite3 {
|
|
if !EnableSQLite3 {
|
|
return nil, fmt.Errorf("Unknown database type: %s", DbCfg.Type)
|
|
return nil, fmt.Errorf("Unknown database type: %s", DbCfg.Type)
|