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 }