Files
orbits/internal/database/database.go
T
2026-04-20 16:58:20 +02:00

37 lines
681 B
Go

package database
import (
"gorm.io/driver/sqlite"
"gorm.io/gorm"
"gorm.io/gorm/schema"
)
func KickoffDatabase() (*gorm.DB, error) {
db, err := gorm.Open(sqlite.Open("garden.db"), &gorm.Config{
NamingStrategy: schema.NamingStrategy{
SingularTable: true,
},
})
if err != nil {
return nil, err
}
if err := db.AutoMigrate(&AppState{}); err != nil {
return nil, err
}
if err := db.AutoMigrate(&Files{}); err != nil {
return nil, err
}
// create the first row if it does not exist yet
if err := db.FirstOrCreate(&AppState{}, AppState{
ID: 1,
Mode: "unspecified",
Running: false,
}).Error; err != nil {
return nil, err
}
return db, nil
}