package db import ( "fmt" "os" "path/filepath" "fastfileviewer/backend/internal/models" "github.com/glebarez/sqlite" "gorm.io/gorm" ) func New(dbPath string) (*gorm.DB, error) { if err := os.MkdirAll(filepath.Dir(dbPath), 0o755); err != nil { return nil, fmt.Errorf("create db dir: %w", err) } database, err := gorm.Open(sqlite.Open(dbPath), &gorm.Config{}) if err != nil { return nil, fmt.Errorf("open db: %w", err) } if err := database.AutoMigrate(&models.Task{}); err != nil { return nil, fmt.Errorf("migrate: %w", err) } return database, nil }