migration.go 727 B

12345678910111213141516171819202122232425262728293031323334353637
  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 MigrateServer struct {
  11. db *gorm.DB
  12. log *log.Logger
  13. }
  14. func NewMigrateServer(db *gorm.DB, log *log.Logger) *MigrateServer {
  15. return &MigrateServer{
  16. db: db,
  17. log: log,
  18. }
  19. }
  20. func (m *MigrateServer) Start(ctx context.Context) error {
  21. if err := m.db.AutoMigrate(
  22. &model.User{},
  23. ); err != nil {
  24. m.log.Error("user migrate error", zap.Error(err))
  25. return err
  26. }
  27. m.log.Info("AutoMigrate success")
  28. os.Exit(0)
  29. return nil
  30. }
  31. func (m *MigrateServer) Stop(ctx context.Context) error {
  32. m.log.Info("AutoMigrate stop")
  33. return nil
  34. }