package migrate

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

var _ = AddDBMigrateRecord(
	"202602251240",
	func(db *gorm.DB) error {
		sqls := []string{
			"ALTER TABLE `backup_schedules` ADD COLUMN `enhanced_encryption_enabled` tinyint(1) NULL DEFAULT NULL",
			"ALTER TABLE `backup_schedules` ADD COLUMN `zone_redundant_enabled` tinyint(1) NULL DEFAULT NULL",
			"ALTER TABLE `backup_schedules` ADD COLUMN `service_plan` varchar(64) NULL DEFAULT NULL",
			"ALTER TABLE `backup_schedules` ADD COLUMN `source_token` varchar(255) NULL DEFAULT NULL",
			"ALTER TABLE `backup_schedules` ADD COLUMN `deleted_at` timestamp NULL DEFAULT NULL",
			"CREATE INDEX `idx_deleted_at` ON `backup_schedules` (`deleted_at`)",
		}
		for _, sql := range sqls {
			if err := db.Exec(sql).Error; err != nil {
				log.Error("execute backup schedule migration sql failed", zap.String("sql", sql), zap.Error(err))
				return err
			}
		}
		return nil
	},
)
