Files
payouts/internal/service/database/db_service.go
2026-03-08 11:56:57 +03:00

45 lines
751 B
Go

package database
import (
"errors"
slogGorm "github.com/orandin/slog-gorm"
"gorm.io/driver/postgres"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
type dbService struct {
dbType string
db *gorm.DB
}
func NewDatabaseService(dbType, connection, logLevel string) (DatabaseService, error) {
var dialector gorm.Dialector
switch dbType {
case "sqlite":
dialector = sqlite.Open(connection)
case "postgres":
dialector = postgres.Open(connection)
default:
return nil, errors.New("unknown dbType")
}
db, err := gorm.Open(dialector, &gorm.Config{
Logger: slogGorm.New(),
})
if err == nil {
db.DB()
db.AutoMigrate()
// db.LogMode(true)
}
result := &dbService{}
result.dbType = dbType
result.db = db
return result, err
}