package migrate

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

var _ = AddDBMigrateRecord(
	"202412241400",
	func(db *gorm.DB) error {
		err := db.Exec("ALTER TABLE `imports` DROP KEY id_compat").Error
		if err != nil {
			log.Error("drop key id_compat failed", zap.Error(err))
		}

		err = db.Exec(
			"ALTER TABLE `imports` MODIFY COLUMN `id_compat` BIGINT UNSIGNED NOT NULL auto_increment, ADD UNIQUE KEY(id_compat)",
		).Error
		if err != nil {
			log.Error("modify column `id_compat` failed", zap.Error(err))
		}

		err = db.Exec(
			"ALTER TABLE `uploads` ADD COLUMN `id_compat` BIGINT UNSIGNED NOT NULL auto_increment, ADD UNIQUE KEY(id_compat)",
		).Error
		if err != nil {
			log.Error("add column `id_compat` failed", zap.Error(err))
		}
		return nil
	},
)
