ver_00005.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package db
  2. import (
  3. "fmt"
  4. )
  5. // ver00005 修正MarchViewID
  6. type ver00005 struct {
  7. }
  8. // Version 手动自增,必需唯一
  9. func (ver00005) Version() int32 {
  10. return 5
  11. }
  12. func (ver00005) Enable() bool {
  13. return false
  14. }
  15. func (p ver00005) Execute() bool {
  16. // clog.Infof("Execute %v, nodeID = %s", p.Version(), capp.NodeID())
  17. // ctx := context.Background()
  18. // mapMarchCollection := dbComponent.DB().Collection(nameDB.Table_MapMarch)
  19. // filter := bson.M{}
  20. // cur, err := mapMarchCollection.Find(ctx, filter)
  21. // if err != nil {
  22. // clog.Errorf("[migrator - %d] find map tile table error: %v", p.Version(), err)
  23. // return false
  24. // }
  25. // list := []*MapMarchTable{}
  26. // err = cur.All(ctx, &list)
  27. // if err != nil {
  28. // clog.Errorf("[migrator - %d] find map march table error: %v", p.Version(), err)
  29. // return false
  30. // }
  31. // for _, marchTable := range list {
  32. // marchTable.UpdateMarchView()
  33. // }
  34. // // 构建批量更新对象
  35. // models := make([]mongo.WriteModel, 0, len(list))
  36. // for _, marchTable := range list {
  37. // tableBytes, err := bson.Marshal(marchTable)
  38. // if err != nil {
  39. // clog.Errorf("[migrator - %d] marshal map march table error: %v", p.Version(), err)
  40. // return false
  41. // }
  42. // // set update
  43. // update := bson.D{{Key: "$set", Value: bson.Raw(tableBytes)}}
  44. // // set filter
  45. // filter := bson.M{
  46. // "_id": marchTable.PrimaryValue(), // 利用自带的_id主键进行条件过滤
  47. // }
  48. // // build *mongo.UpdateOneModel
  49. // model := mongo.NewUpdateOneModel().SetFilter(filter).SetUpdate(update).SetUpsert(true)
  50. // models = append(models, model)
  51. // }
  52. // ops := options.BulkWrite().SetOrdered(false)
  53. // result, err := mapMarchCollection.BulkWrite(context.TODO(), models, ops)
  54. // if err != nil {
  55. // clog.Errorf("[migrator - %d] bulk write map march table error: %v", p.Version(), err)
  56. // return false
  57. // }
  58. // clog.Infof("[migrator - %d] bulk write map march table success: %d", p.Version(), result.ModifiedCount)
  59. return true
  60. }
  61. func (p ver00005) Desc() string {
  62. return fmt.Sprintf("[migrator - %d] Fix MarchViewID", p.Version())
  63. }