ver_00003.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package db
  2. import (
  3. "context"
  4. cherryApp "f1-game/internal/cherry_app"
  5. nameDB "f1-game/internal/name/db"
  6. "fmt"
  7. clog "github.com/cherry-game/cherry/logger"
  8. "go.mongodb.org/mongo-driver/v2/bson"
  9. )
  10. // ver00003 修正连接地块
  11. type ver00003 struct {
  12. }
  13. // Version 手动自增,必需唯一
  14. func (ver00003) Version() int32 {
  15. return 3
  16. }
  17. func (ver00003) Enable() bool {
  18. return false
  19. }
  20. func (p ver00003) Execute() bool {
  21. clog.Infof("Execute %v, nodeID = %s", p.Version(), cherryApp.NodeID())
  22. mapTileCollection := dbComponent.DB().Collection(nameDB.Table_LogicTile)
  23. filter := bson.M{"$expr": bson.M{"$eq": bson.A{"$TileID", "$Data.ParentTileID"}}}
  24. update := bson.M{"$unset": bson.M{"Data.ParentTileID": ""}}
  25. result, err := mapTileCollection.UpdateMany(context.Background(), filter, update)
  26. if err != nil {
  27. clog.Errorf("[migrator - %d] update map tile table error: %v", p.Version(), err)
  28. return false
  29. }
  30. clog.Infof("[migrator - %d] update map tile table success: %v", p.Version(), result.ModifiedCount)
  31. return true
  32. }
  33. func (p ver00003) Desc() string {
  34. return fmt.Sprintf("[migrator - %d] Fix MapTile", p.Version())
  35. }