package migrate

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

// migration: drop project_id columns from backup_schedules, user_backups, restore_jobs, cdc_changefeeds, cdc_cluster, dm_tasks, dm_sources, dm_prechecks, private_link_connections
var _ = AddDBMigrateRecord(
	"202602130025",
	func(db *gorm.DB) error {
		tables := []string{
			"backup_schedules",
			"user_backups",
			"restore_jobs",
			"cdc_changefeeds",
			"cdc_cluster",
			"dm_tasks",
			"dm_sources",
			"dm_prechecks",
			"private_link_connections",
		}

		for _, table := range tables {
			alter := "ALTER TABLE `" + table + "` DROP COLUMN `project_id`"
			if err := db.Exec(alter).Error; err != nil {
				log.Error("drop column 'project_id' from `"+table+"` failed", zap.Error(err))
				return err
			}
		}

		return nil
	},
)
