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 workspaceWithNullableType struct {
	Type *string `gorm:"column:type;type:varchar(128)"`
}

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

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

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

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