Files
janus/internal/database/database.go
T
2026-07-09 17:04:56 +08:00

32 lines
593 B
Go

package database
import (
"fmt"
"gorm.io/driver/postgres"
"gorm.io/gorm"
)
// DatabaseConfig
type DatabaseConfig struct {
Host string
Port int
Username string
Password string
DBName string
SSLMode string
}
func Connect(cfg DatabaseConfig) (*gorm.DB, error) {
dsn := fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=%s",
cfg.Host, cfg.Port, cfg.Username, cfg.Password, cfg.DBName, cfg.SSLMode,
)
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})
if err != nil {
return nil, fmt.Errorf("connect database: %w", err)
}
return db, nil
}