32 lines
573 B
Go
32 lines
573 B
Go
package main
|
|
|
|
import (
|
|
"embed"
|
|
"gitea.seeseepuff.be/seeseemelk/mysqlite"
|
|
"log"
|
|
"os"
|
|
)
|
|
|
|
//go:embed migrations/*.sql
|
|
var embeddedMigrations embed.FS
|
|
|
|
func openDatabase() *mysqlite.Db {
|
|
// Get database file
|
|
databaseSource := os.Getenv("VIVAPLUS_DATABASE")
|
|
if databaseSource == "" {
|
|
databaseSource = "videos.db3"
|
|
}
|
|
|
|
db, err := mysqlite.OpenDb(databaseSource)
|
|
if err != nil {
|
|
log.Fatalf("error opening database: %v", err)
|
|
}
|
|
|
|
err = db.MigrateDb(embeddedMigrations, "migrations")
|
|
if err != nil {
|
|
log.Fatalf("error migrating database: %v", err)
|
|
}
|
|
|
|
return db
|
|
}
|