package migrate

import (
	"github.com/pingcap/log"
	"go.uber.org/zap"
	"gorm.io/gorm"
)

var _ = AddDBMigrateRecord(
	"202603101200",
	func(db *gorm.DB) error {
		if db.Migrator().HasIndex("user_backups", "idx_user_backups_cluster_state_expire_time") {
			return nil
		}
		sql := "CREATE INDEX `idx_user_backups_cluster_state_expire_time` ON `user_backups` (`cluster_id`, `state`, `expire_time`)"
		if err := db.Exec(sql).Error; err != nil {
			log.Error("create index on user_backups failed", zap.String("sql", sql), zap.Error(err))
			return err
		}
		return nil
	},
)
