Use postgres connection string with spaces instead of url

Signed-off-by: kolaente <k@knt.li>
This commit is contained in:
kolaente 2020-02-16 21:12:04 +01:00
parent b7883d01b9
commit fed3a01617
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
1 changed files with 8 additions and 18 deletions

View File

@ -137,25 +137,15 @@ func parsePostgreSQLHostPort(info string) (string, string) {
}
func initPostgresEngine() (engine *xorm.Engine, err error) {
var connStr string
host, port := parsePostgreSQLHostPort(config.DatabaseHost.GetString())
if strings.HasPrefix(config.DatabaseHost.GetString(), "/") { // looks like a unix socket
connStr = fmt.Sprintf("postgres://%s:%s@:%s/%s?sslmode=%s&host=%s",
url.PathEscape(config.DatabaseUser.GetString()),
url.PathEscape(config.DatabasePassword.GetString()),
port,
config.DatabaseDatabase.GetString(),
config.DatabaseSslMode.GetString(),
host)
} else {
connStr = fmt.Sprintf("postgres://%s:%s@%s:%s/%s?sslmode=%s",
url.PathEscape(config.DatabaseUser.GetString()),
url.PathEscape(config.DatabasePassword.GetString()),
host,
port,
config.DatabaseDatabase.GetString(),
config.DatabaseSslMode.GetString())
}
connStr := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=%s",
host,
port,
url.PathEscape(config.DatabaseUser.GetString()),
url.PathEscape(config.DatabasePassword.GetString()),
config.DatabaseDatabase.GetString(),
config.DatabaseSslMode.GetString(),
)
engine, err = xorm.NewEngine("postgres", connStr)
if err != nil {