superkit/db/db.go

33 lines
525 B
Go
Raw Permalink Normal View History

2024-06-06 10:04:51 +02:00
package db
import (
"database/sql"
"fmt"
)
const (
DriverSqlite3 = "sqlite3"
2024-06-23 10:53:56 +02:00
DriverMysql = "mysql"
2024-06-06 10:04:51 +02:00
)
type Config struct {
Driver string
Name string
Host string
User string
Password string
}
2024-06-23 10:53:56 +02:00
func NewSQL(cfg Config) (*sql.DB, error) {
2024-06-06 10:04:51 +02:00
switch cfg.Driver {
case DriverSqlite3:
name := cfg.Name
if len(name) == 0 {
name = "app_db"
}
return sql.Open(cfg.Driver, name)
default:
return nil, fmt.Errorf("invalid database driver (%s): currently only sqlite3 is supported", cfg.Driver)
}
}