2022-11-30 22:34:52 +00:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
2022-12-24 20:56:02 +00:00
|
|
|
"os"
|
|
|
|
|
|
|
|
"github.com/jmoiron/sqlx"
|
2022-11-30 22:34:52 +00:00
|
|
|
"go.arsenm.dev/logger/log"
|
|
|
|
"go.arsenm.dev/lure/internal/config"
|
|
|
|
"go.arsenm.dev/lure/internal/db"
|
|
|
|
)
|
|
|
|
|
2022-12-24 20:56:02 +00:00
|
|
|
var gdb *sqlx.DB
|
2022-11-30 22:34:52 +00:00
|
|
|
|
|
|
|
func init() {
|
2022-12-24 20:56:02 +00:00
|
|
|
fi, err := os.Stat(config.DBPath)
|
2022-12-24 22:03:19 +00:00
|
|
|
if err == nil {
|
|
|
|
// TODO: This should be removed by the first stable release.
|
|
|
|
if fi.IsDir() {
|
|
|
|
log.Fatal("Your package cache database is using the old database engine. Please remove ~/.cache/lure and then run `lure ref`.").Send()
|
|
|
|
}
|
2022-12-24 20:56:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
gdb, err = sqlx.Open("sqlite", config.DBPath)
|
2022-11-30 22:34:52 +00:00
|
|
|
if err != nil {
|
|
|
|
log.Fatal("Error opening database").Err(err).Send()
|
|
|
|
}
|
|
|
|
|
|
|
|
err = db.Init(gdb)
|
|
|
|
if err != nil {
|
|
|
|
log.Fatal("Error initializing database").Err(err).Send()
|
|
|
|
}
|
|
|
|
}
|