aeus-admin/pkg/dbdialer/dialer.go

26 lines
511 B
Go

package dbdialer
import (
"context"
"gorm.io/driver/mysql"
"gorm.io/driver/postgres"
"gorm.io/driver/sqlite"
"gorm.io/gorm"
)
// Dialer open database
func Dialer(ctx context.Context, driver string, dsn string) (db *gorm.DB, err error) {
switch driver {
case mysql.DefaultDriverName:
db, err = gorm.Open(mysql.Open(dsn))
case sqlite.DriverName:
db, err = gorm.Open(sqlite.Open(dsn))
case "postgres":
db, err = gorm.Open(postgres.Open(dsn))
default:
err = gorm.ErrNotImplemented
}
return
}