30 lines
502 B
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
|
|
}
|