package database import ( "log" "os" "path/filepath" "github.com/jianboy/filecloud/internal/model" "gorm.io/driver/sqlite" "gorm.io/gorm" ) var DB *gorm.DB // InitDB initializes the database connection func InitDB() error { // Create data directory if it doesn't exist dataDir := filepath.Join("data") if err := os.MkdirAll(dataDir, 0755); err != nil { return err } dbPath := filepath.Join(dataDir, "filecloud.db") db, err := gorm.Open(sqlite.Open(dbPath), &gorm.Config{}) if err != nil { return err } // Auto migrate the schema err = db.AutoMigrate(&model.File{}, &model.User{}) if err != nil { return err } DB = db log.Println("Database initialized successfully") return nil }