From 0f4a8c019308f51c5e60db64ace219a159467628 Mon Sep 17 00:00:00 2001 From: Jetlum Date: Sat, 30 Nov 2024 20:42:12 +0100 Subject: [PATCH] Implement database connection and error handling and also add database migrations for Event and UserPreference models --- database/database.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/database/database.go b/database/database.go index ce94f6c..adc54ac 100644 --- a/database/database.go +++ b/database/database.go @@ -1,18 +1,27 @@ package database import ( + "fmt" + + "github.com/Jetlum/WalletAlertService/models" "gorm.io/driver/postgres" "gorm.io/gorm" ) -// Exported DB variable var DB *gorm.DB func InitDB(dsn string) error { var err error DB, err = gorm.Open(postgres.Open(dsn), &gorm.Config{}) if err != nil { - return err + return fmt.Errorf("failed to connect to database: %w", err) } + + // Run migrations + err = DB.AutoMigrate(&models.Event{}, &models.UserPreference{}) + if err != nil { + return fmt.Errorf("failed to run migrations: %w", err) + } + return nil }