package migrate

import (
	"github.com/tidbcloud/devops/models/release"

	"gorm.io/gorm"
)

// migration for change to remove 'is_hotfix" and 'hotfix_reason' fields and add a new field
// 'type'.
var _ = AddMigrateRecord(
	"202308081600",
	func(db *gorm.DB) error {
		err := db.AutoMigrate(&release.Change{}, &release.ChangeDetail{})
		if err != nil {
			return err
		}

		err = db.Exec(`UPDATE changes SET type = 'sprint' WHERE type = null;`).Error
		if err != nil {
			return err
		}
		err = db.Migrator().DropColumn(&release.Change{}, "is_hotfix")
		if err != nil {
			return err
		}
		err = db.Migrator().DropColumn(&release.ChangeDetail{}, "hotfix_reason")
		if err != nil {
			return err
		}

		return nil
	},
)
