package migrate

import (
	wsent "github.com/tidbcloud/aisupport/packages/sdk-go/contracts/entity/ticket-manager/workspace"
	wsmod "github.com/tidbcloud/aisupport/services/ticket-manager/models/workspace"

	"gorm.io/gorm"
)

type workspaceWithNullableSeverity struct {
	Severity *string `gorm:"column:severity;type:varchar(128)"`
}

func (workspaceWithNullableSeverity) TableName() string {
	return "workspace_workspaces"
}

var _ = addRecord("202606021100", func(db *gorm.DB) error {
	if err := db.AutoMigrate(&workspaceWithNullableSeverity{}); err != nil {
		return err
	}

	if err := db.Model(&workspaceWithNullableSeverity{}).
		Where("severity = '' OR severity IS NULL").
		Update("severity", string(wsent.WorkspaceSeverityP4)).
		Error; err != nil {
		return err
	}

	return db.AutoMigrate(&wsmod.Workspace{})
})
