migrate on both binaries
This commit is contained in:
@@ -36,9 +36,6 @@ func main() {
|
|||||||
db,
|
db,
|
||||||
*musicPath,
|
*musicPath,
|
||||||
)
|
)
|
||||||
if err := s.MigrateDB(); err != nil {
|
|
||||||
log.Fatalf("error migrating: %v\n", err)
|
|
||||||
}
|
|
||||||
if err := s.Start(); err != nil {
|
if err := s.Start(); err != nil {
|
||||||
log.Fatalf("error starting scanner: %v\n", err)
|
log.Fatalf("error starting scanner: %v\n", err)
|
||||||
}
|
}
|
||||||
|
|||||||
17
db/db.go
17
db/db.go
@@ -8,6 +8,8 @@ import (
|
|||||||
|
|
||||||
"github.com/jinzhu/gorm"
|
"github.com/jinzhu/gorm"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
|
|
||||||
|
"github.com/sentriz/gonic/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@@ -28,7 +30,20 @@ func New(path string) (*gorm.DB, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, errors.Wrap(err, "with gorm")
|
return nil, errors.Wrap(err, "with gorm")
|
||||||
}
|
}
|
||||||
db.DB().SetMaxOpenConns(dbMaxOpenConns)
|
|
||||||
db.SetLogger(log.New(os.Stdout, "gorm ", 0))
|
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
|
return db, nil
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 {
|
func (s *Scanner) Start() error {
|
||||||
if atomic.LoadInt32(&IsScanning) == 1 {
|
if atomic.LoadInt32(&IsScanning) == 1 {
|
||||||
return errors.New("already scanning")
|
return errors.New("already scanning")
|
||||||
|
|||||||
Reference in New Issue
Block a user