|
- package database
-
- import (
- "fmt"
-
- "github.com/AFASystems/presence/internal/pkg/config"
- "github.com/AFASystems/presence/internal/pkg/model"
- "gorm.io/driver/postgres"
- "gorm.io/gorm"
- )
-
- var DB *gorm.DB
-
- func Connect(cfg *config.Config) (*gorm.DB, error) {
- // Connect to PostgreSQL database
- dsn := fmt.Sprintf(
- "host=%s user=%s password=%s dbname=%s port=5432 sslmode=disable",
- cfg.DBHost,
- cfg.DBUser,
- cfg.DBPass,
- cfg.DBName,
- )
-
- db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
- if err != nil {
- return nil, err
- }
-
- if err := db.AutoMigrate(&model.Gateway{}, model.Zone{}, model.TrackerZones{}); err != nil {
- return nil, err
- }
-
- fmt.Println("Database connection established")
- return db, nil
- }
|