summaryrefslogtreecommitdiffhomepage
path: root/src/dbx/db.go
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2025-06-13 23:34:29 +0200
committerThomas Voss <mail@thomasvoss.com> 2025-06-13 23:34:46 +0200
commitefbcd857112fdce69006207c853bb1a4a37ca67c (patch)
tree5bb1c72b03e57335bdc6f13224990f28be10c667 /src/dbx/db.go
parentf9accf7d1ebc1c4b2a07818b0a96c8cd3a73666d (diff)
Migrate towards using os.Root
Diffstat (limited to 'src/dbx/db.go')
-rw-r--r--src/dbx/db.go49
1 files changed, 16 insertions, 33 deletions
diff --git a/src/dbx/db.go b/src/dbx/db.go
index 9be23f0..5bd65a5 100644
--- a/src/dbx/db.go
+++ b/src/dbx/db.go
@@ -2,66 +2,49 @@ package dbx
import (
"database/sql"
- "embed"
"fmt"
"io/fs"
"log"
- "path/filepath"
"reflect"
"sort"
"strings"
"github.com/mattn/go-sqlite3"
+
+ . "git.thomasvoss.com/euro-cash.eu/src/try"
)
var (
+ db *sql.DB
DBName string
-
- db *sql.DB
- //go:embed "sql/*.sql"
- migrations embed.FS
)
-func Init() {
- var err error
- if db, err = sql.Open("sqlite3", DBName); err != nil {
- log.Fatal(err)
- }
- if err = db.Ping(); err != nil {
- log.Fatal(err)
- }
-
- if err := applyMigrations("sql"); err != nil {
- log.Fatal(err)
- }
+func Init(sqlDir fs.FS) {
+ db = Try2(sql.Open("sqlite3", DBName))
+ Try(db.Ping())
+ Try(applyMigrations(sqlDir))
/* TODO: Remove debug code */
- if err := CreateUser(User{
+ Try(CreateUser(User{
Email: "mail@thomasvoss.com",
Username: "Thomas",
Password: "69",
AdminP: true,
- }); err != nil {
- log.Fatal(err)
- }
- if err := CreateUser(User{
+ }))
+ Try(CreateUser(User{
Email: "foo@BAR.baz",
Username: "Foobar",
Password: "420",
AdminP: false,
- }); err != nil {
- log.Fatal(err)
- }
- if _, err := GetMintages("ad"); err != nil {
- log.Fatal(err)
- }
+ }))
+ Try2(GetMintages("ad"))
}
func Close() {
db.Close()
}
-func applyMigrations(dir string) error {
+func applyMigrations(dir fs.FS) error {
var latest int
migratedp := true
@@ -90,7 +73,7 @@ func applyMigrations(dir string) error {
latest = -1
}
- files, err := fs.ReadDir(migrations, dir)
+ files, err := fs.ReadDir(dir, ".")
if err != nil {
return err
}
@@ -110,7 +93,7 @@ func applyMigrations(dir string) error {
sort.Strings(scripts)
for _, f := range scripts[latest+1:] {
- qry, err := migrations.ReadFile(filepath.Join(dir, f))
+ qry, err := fs.ReadFile(dir, f)
if err != nil {
return err
}
@@ -141,7 +124,7 @@ func applyMigrations(dir string) error {
}
if last != "" {
- qry, err := migrations.ReadFile(filepath.Join(dir, last))
+ qry, err := fs.ReadFile(dir, last)
if err != nil {
return err
}