migration.go 685 B

1234567891011121314151617181920212223242526272829303132333435
  1. package server
  2. import (
  3. "context"
  4. "github.com/go-nunu/nunu-layout-advanced/internal/model"
  5. "github.com/go-nunu/nunu-layout-advanced/pkg/log"
  6. "go.uber.org/zap"
  7. "gorm.io/gorm"
  8. "os"
  9. )
  10. type Migrate struct {
  11. db *gorm.DB
  12. log *log.Logger
  13. }
  14. func NewMigrate(db *gorm.DB, log *log.Logger) *Migrate {
  15. return &Migrate{
  16. db: db,
  17. log: log,
  18. }
  19. }
  20. func (m *Migrate) Start(ctx context.Context) error {
  21. if err := m.db.AutoMigrate(&model.User{}); err != nil {
  22. m.log.Error("user migrate error", zap.Error(err))
  23. return err
  24. }
  25. m.log.Info("AutoMigrate success")
  26. os.Exit(0)
  27. return nil
  28. }
  29. func (m *Migrate) Stop(ctx context.Context) error {
  30. m.log.Info("AutoMigrate stop")
  31. return nil
  32. }