package db import ( "fmt" ) // ver00005 修复 Teams 为空 type ver00005 struct { } // Version 手动自增,必需唯一 func (ver00005) Version() int32 { return 5 } func (ver00005) Enable() bool { return false } func (p ver00005) Execute() bool { // teamCollection := dbComponent.Collection(nameDB.Table_Team) // ctx := context.Background() // filter := bson.M{ // "$or": []bson.M{ // {"Data": bson.M{"$in": []any{bson.M{}, nil}}}, // {"Data": bson.M{"$exists": false}}, // {"Data.Teams": bson.M{"$in": []any{bson.M{}, nil}}}, // {"Data.Teams": bson.M{"$exists": false}}, // }, // } // cur, err := teamCollection.Find(ctx, filter) // if err != nil { // clog.Errorf("[repairTeamTable] err = %v", err) // return false // } // var teamTables []*TeamTable // err = cur.All(ctx, &teamTables) // if err != nil { // clog.Errorf("[repairTeamTable] err = %v", err) // return false // } // for _, teamTable := range teamTables { // for i := range 3 { // teamTable.Teams.AddTeam(int32(i + 1)) // } // } // for _, teamTable := range teamTables { // rawData, err := bson.Marshal(teamTable) // if err != nil { // clog.Errorf("[migrator - %d] marshal team table error: %v", p.Version(), err) // continue // } // update := bson.D{{Key: "$set", Value: bson.Raw(rawData)}} // result, err := teamCollection.UpdateByID(context.Background(), teamTable.PrimaryValue(), update) // if err != nil { // clog.Errorf("[migrator - %d] update team table error: %v", p.Version(), err) // continue // } // clog.Infof("[migrator - %d] update team table success: %+v", p.Version(), result) // } return true } func (p ver00005) Desc() string { return fmt.Sprintf("[migrator - %d] repair chapter init level", p.Version()) }