Files
gun-manager-backend/sql/client.go
2023-03-19 22:13:49 -04:00

40 lines
561 B
Go

package sql
import (
"context"
"database/sql"
_ "github.com/mattn/go-sqlite3"
)
type SqlDb struct {
db *sql.DB
created bool
}
var dbConnection SqlDb
func NewDb(file string) (*SqlDb, error) {
if dbConnection.created {
return &dbConnection, nil
}
db, err := sql.Open("sqlite3", file)
if err != nil {
return nil, err
}
dbConnection.db = db
dbConnection.created = true
_, err = dbConnection.db.Conn(context.Background())
if err != nil {
return nil, err
}
return &dbConnection, nil
}
func GetDb() *SqlDb {
return &dbConnection
}