package migrate

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

var _ = AddDBMigrateRecord(
	"202503191340",
	func(db *gorm.DB) error {
		err := db.Exec("ALTER TABLE `exports` ADD COLUMN `oss_uri` VARCHAR(1024) NULL DEFAULT NULL").Error
		if err != nil {
			log.Error("add column 'oss_uri' to `exports` failed", zap.Error(err))
		}
		err = db.Exec("ALTER TABLE `exports` ADD COLUMN `oss_access_key_id` VARCHAR(255) NULL DEFAULT NULL").Error
		if err != nil {
			log.Error("add column 'oss_access_key_id' to `exports` failed", zap.Error(err))
		}
		err = db.Exec("ALTER TABLE `exports` ADD COLUMN `s3_endpoint` VARCHAR(255) NULL DEFAULT NULL").Error
		if err != nil {
			log.Error("add column 's3_endpoint' to `exports` failed", zap.Error(err))
		}
		err = db.Exec(
			"ALTER TABLE exports modify column `target_type` enum('LOCAL','S3','GCS','Azure','OSS') NOT NULL;",
		).Error
		if err != nil {
			log.Error("alter export column `target_type` failed", zap.Error(err))
		}
		return nil
	},
)
