From a85eafd58c019975d2948a0a0991b7f1806a1bf4 Mon Sep 17 00:00:00 2001 From: Mukundan Kidambi Date: Fri, 24 Sep 2021 02:49:41 -0700 Subject: [PATCH] fix: Fixing up postgres connection strings (#96) --- generator/postgres/postgres_generator.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/generator/postgres/postgres_generator.go b/generator/postgres/postgres_generator.go index b3dd4a6..50036e6 100644 --- a/generator/postgres/postgres_generator.go +++ b/generator/postgres/postgres_generator.go @@ -3,6 +3,7 @@ package postgres import ( "database/sql" "fmt" + "net/url" "path" "strconv" @@ -31,8 +32,11 @@ type DBConnection struct { func Generate(destDir string, dbConn DBConnection, genTemplate ...template.Template) (err error) { defer utils.ErrorCatch(&err) - connectionString := fmt.Sprintf("host=%s port=%s user=%s password=%s dbname=%s sslmode=%s %s", - dbConn.Host, strconv.Itoa(dbConn.Port), dbConn.User, dbConn.Password, dbConn.DBName, dbConn.SslMode, dbConn.Params) + if dbConfig.SchemaName == "" { + dbConfig.SchemaName = "public" + } + connectionString := fmt.Sprintf("postgresql://%s:%s@%s:%s/%s?sslmode=%s&search_path=%s", + dbConn.User, url.QueryEscape(dbConn.Password), dbConn.Host, strconv.Itoa(dbConn.Port), dbConn.DBName, dbConn.SslMode, dbConn.SchemaName) db := openConnection(connectionString) defer utils.DBClose(db)