diff --git a/cmd/gonicscan/main.go b/cmd/gonicscan/main.go index 5ac86e6..ac3e10c 100644 --- a/cmd/gonicscan/main.go +++ b/cmd/gonicscan/main.go @@ -36,9 +36,6 @@ func main() { db, *musicPath, ) - if err := s.MigrateDB(); err != nil { - log.Fatalf("error migrating: %v\n", err) - } if err := s.Start(); err != nil { log.Fatalf("error starting scanner: %v\n", err) } diff --git a/db/db.go b/db/db.go index c5a9e90..9576e65 100644 --- a/db/db.go +++ b/db/db.go @@ -8,6 +8,8 @@ import ( "github.com/jinzhu/gorm" "github.com/pkg/errors" + + "github.com/sentriz/gonic/model" ) var ( @@ -28,7 +30,20 @@ func New(path string) (*gorm.DB, error) { if err != nil { return nil, errors.Wrap(err, "with gorm") } - db.DB().SetMaxOpenConns(dbMaxOpenConns) db.SetLogger(log.New(os.Stdout, "gorm ", 0)) + db.DB().SetMaxOpenConns(dbMaxOpenConns) + db.AutoMigrate( + model.Artist{}, + model.Track{}, + model.User{}, + model.Setting{}, + model.Play{}, + model.Album{}, + ) + db.FirstOrCreate(&model.User{}, model.User{ + Name: "admin", + Password: "admin", + IsAdmin: true, + }) return db, nil } diff --git a/scanner/scanner.go b/scanner/scanner.go index 0cd69d4..ba9d1ee 100644 --- a/scanner/scanner.go +++ b/scanner/scanner.go @@ -72,26 +72,6 @@ func New(db *gorm.DB, musicPath string) *Scanner { } } -func (s *Scanner) MigrateDB() error { - s.tx = s.db.Begin() - defer s.tx.Commit() - s.tx.AutoMigrate( - model.Artist{}, - model.Track{}, - model.User{}, - model.Setting{}, - model.Play{}, - model.Album{}, - ) - s.tx.FirstOrCreate(&model.User{}, model.User{ - Name: "admin", - Password: "admin", - IsAdmin: true, - }) - log.Printf("finished migrate") - return nil -} - func (s *Scanner) Start() error { if atomic.LoadInt32(&IsScanning) == 1 { return errors.New("already scanning")