lishwist/core/internal/db/db.go

30 lines
502 B
Go

//go:generate go run gen_init_sql.go
package db
import (
"database/sql"
"fmt"
_ "github.com/ncruces/go-sqlite3/driver"
_ "github.com/ncruces/go-sqlite3/embed"
)
var Connection *sql.DB
func Init(dataSourceName string) error {
db, err := sql.Open("sqlite3", dataSourceName)
if err != nil {
return fmt.Errorf("failed to open db connection: %w", err)
}
_, err = db.Exec(initQuery)
if err != nil {
return fmt.Errorf("failed to initialize db: %w", err)
}
Connection = db
return nil
}