package database import ( "backend/model" "os" "github.com/glebarez/sqlite" "github.com/gofiber/fiber/v2/log" "gorm.io/gorm" ) var Db *gorm.DB func Init() error { if os.Getenv("DATABASE") == "" { log.Fatal("Error no DATABASE path or url") } var err error Db, err = gorm.Open(sqlite.Open(os.Getenv("DATABASE")), &gorm.Config{}) if err != nil { log.Error("Failed to connect database") return err } return nil } func Migrate() { Db.AutoMigrate( &model.User{}, &model.Category{}, &model.Subcategory{}, &model.Operation{}, ) } func InitDatabase() { Init() Migrate() if os.Getenv("USERS_FILE") != "" { allusers := GetUsersFromFile(os.Getenv("USERS_FILE")) for i := range allusers { CreateUser(&allusers[i]) } } if os.Getenv("DEFAULT_CATEGORIES_FILE") != "" { default_categories := GetCategoriesFromFile(os.Getenv("DEFAULT_CATEGORIES_FILE")) for i := range default_categories { CreateCategory(&default_categories[i]) } } }