| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package db
- import (
- "context"
- "errors"
- capp "f1-game/internal/cherry_app"
- nameDB "f1-game/internal/name/db"
- "fmt"
- clog "github.com/cherry-game/cherry/logger"
- "go.mongodb.org/mongo-driver/v2/bson"
- "go.mongodb.org/mongo-driver/v2/mongo"
- )
- // ver00008 修正 logic_watcher_table
- type ver00008 struct {
- }
- // Version 手动自增,必需唯一
- func (ver00008) Version() int32 {
- return 8
- }
- func (ver00008) Enable() bool {
- return false
- }
- func (p ver00008) Execute() bool {
- clog.Infof("Execute %v, nodeID = %s", p.Version(), capp.NodeID())
- list := getAllTables[*MapPlayerTable](nameDB.Table_MapPlayer)
- if len(list) == 0 {
- return true
- }
- var modifyCount int64
- watcherCollection := dbComponent.DB().Collection(nameDB.Table_LogicWatcher)
- for _, playerTable := range list {
- result, err := watcherCollection.UpdateByID(context.Background(), playerTable.PlayerID, bson.M{
- "$set": bson.M{"Watcher.LeagueID": playerTable.LeagueID},
- })
- if err != nil && !errors.Is(err, mongo.ErrNoDocuments) {
- clog.Errorf("[migrate %v] update playerID = %d error: %v", p.Version(), playerTable.PlayerID, err)
- return false
- }
- clog.Debugf("[migrate %v] update playerID = %d success", p.Version(), playerTable.PlayerID)
- modifyCount += result.ModifiedCount
- }
- clog.Infof("[migrate %v] update logic watcher table success: count = %d", p.Version(), modifyCount)
- return true
- }
- func (p ver00008) Desc() string {
- return fmt.Sprintf("[migrator - %d] Fix MarchViewID", p.Version())
- }
|