From 907378ebc58dbdd1565a3c11510d2859a1a54687 Mon Sep 17 00:00:00 2001 From: Sahil Maurya Date: Tue, 7 Apr 2026 11:48:36 +0530 Subject: [PATCH 1/2] fix(database): add dbname parameter to postgres dsn Signed-off-by: Sahil Maurya --- database/database.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/database/database.go b/database/database.go index 9321df01b..8bc3cdf55 100644 --- a/database/database.go +++ b/database/database.go @@ -20,6 +20,7 @@ type Options struct { Host string `json:"host,omitempty"` Port string `json:"port,omitempty"` Password string `json:"password,omitempty"` + Database string `json:"database,omitempty"` Filename string `json:"filename,omitempty"` Engine string `json:"engine,omitempty"` Logger logger.Handler @@ -52,7 +53,7 @@ func (h *Handler) DBClose() error { func New(opts Options) (Handler, error) { switch opts.Engine { case POSTGRES: - dsn := fmt.Sprintf("host=%s user=%s password=%s port=%s", opts.Host, opts.Username, opts.Password, opts.Port) + dsn := fmt.Sprintf("host=%s user=%s password=%s port=%s dbname=%s", opts.Host, opts.Username, opts.Password, opts.Port, opts.Database) db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) if err != nil { return Handler{}, ErrDatabaseOpen(err) From 16e878eda04587e1b49a8d98d27dd90dab055182 Mon Sep 17 00:00:00 2001 From: Sahil Maurya Date: Tue, 7 Apr 2026 12:27:08 +0530 Subject: [PATCH 2/2] fix(database): conditionally add dbname to postgres DSN Signed-off-by: Sahil Maurya --- database/database.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/database/database.go b/database/database.go index 8bc3cdf55..3cbaa138c 100644 --- a/database/database.go +++ b/database/database.go @@ -53,8 +53,15 @@ func (h *Handler) DBClose() error { func New(opts Options) (Handler, error) { switch opts.Engine { case POSTGRES: - dsn := fmt.Sprintf("host=%s user=%s password=%s port=%s dbname=%s", opts.Host, opts.Username, opts.Password, opts.Port, opts.Database) - db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) + dsn := fmt.Sprintf("host=%s user=%s password=%s port=%s", opts.Host, opts.Username, opts.Password, opts.Port) + if opts.Database != "" { + dsn = fmt.Sprintf("%s dbname=%s", dsn, opts.Database) + } + config := &gorm.Config{} + if opts.Logger != nil { + config.Logger = opts.Logger.DatabaseLogger() + } + db, err := gorm.Open(postgres.Open(dsn), config) if err != nil { return Handler{}, ErrDatabaseOpen(err) }