package migrate

import (
	"time"

	"github.com/tidbcloud/tiinf/monitor/tilog"
	"go.uber.org/zap"
	"gorm.io/gorm"
)

var _ = AddDBMigrateRecord(
	"202311021550",
	func(db *gorm.DB) error {
		go func() {
			for {
				db = db.Exec(
					"UPDATE clusters SET user_status='deleted' Where deleted_at IS NOT NULL AND user_status!='deleted' Limit 100",
				)
				if db.Error != nil {
					tilog.PlainError("set deleted cluster user_status deleted failed", zap.Error(db.Error))
					continue
				}
				if db.RowsAffected == 0 {
					tilog.PlainError("set deleted cluster user_status deleted success")
					break
				}

				tilog.PlainError("set deleted cluster user_status deleted", zap.Int64("RowsAffected", db.RowsAffected))
				time.Sleep(10 * time.Second)
			}
		}()
		return nil
	},
)
