File tree Expand file tree Collapse file tree 1 file changed +14
-45
lines changed Expand file tree Collapse file tree 1 file changed +14
-45
lines changed Original file line number Diff line number Diff line change 11package database
22
33import (
4- "errors"
5- "io"
6- "log"
7- "os"
8- "sync"
4+ "fmt"
95
6+ "github.com/Jetlum/WalletAlertService/models"
7+ "gorm.io/driver/postgres"
108 "gorm.io/gorm"
119)
1210
13- var (
14- DB * gorm.DB
15- IsMockMode bool
16- ErrMockMode = errors .New ("database is in mock mode" )
17- logger = log .New (os .Stdout , "" , log .LstdFlags )
18- mu sync.Mutex
19- )
11+ var DB * gorm.DB
2012
21- func init () {
22- // Setup mock DB in test mode
23- if os . Getenv ( "GO_ENV" ) == "test" {
24- SetupMockDB ()
25- logger . SetOutput ( io . Discard ) // Use SetOutput instead of creating new logger
13+ func InitDB ( dsn string ) error {
14+ var err error
15+ DB , err = gorm . Open ( postgres . Open ( dsn ), & gorm. Config {})
16+ if err != nil {
17+ return fmt . Errorf ( "failed to connect to database: %w" , err )
2618 }
27- }
28-
29- func InitDB (dsn string ) (* gorm.DB , error ) {
30- IsMockMode = true
31- mu .Lock ()
32- defer mu .Unlock ()
3319
34- // Skip DB initialization in mock mode
35- if IsMockMode {
36- return nil , nil
20+ // Run migrations
21+ err = DB .AutoMigrate (& models.Event {}, & models.UserPreference {})
22+ if err != nil {
23+ return fmt .Errorf ("failed to run migrations: %w" , err )
3724 }
3825
39- return nil , nil
40- }
41-
42- func SetupMockDB () {
43- mu .Lock ()
44- defer mu .Unlock ()
45-
46- IsMockMode = true
47- DB = nil
48- logger = log .New (io .Discard , "" , 0 )
49- }
50-
51- func ResetMockDB () {
52- mu .Lock ()
53- defer mu .Unlock ()
54-
55- IsMockMode = false
56- DB = nil
57- logger = log .New (os .Stdout , "" , log .LstdFlags )
26+ return nil
5827}
You can’t perform that action at this time.
0 commit comments