func (receiver *TemplateArgument) GetContainerForMigration() (interface{}, error) {
	return extension.CreateContainerByTypeName(receiver.GetTypeName(receiver))
}
GetContainerForMigration returns its container for migration, if no need to be migrated, just return null
package model
import (
	"github.com/jinzhu/gorm"
	"github.com/qb0C80aE/clay/extension"
)
const (
	TemplateArgumentTypeInt = "int"
	TemplateArgumentTypeFloat = "float"
	TemplateArgumentTypeBool = "bool"
	TemplateArgumentTypeString = "string"
)
type TemplateArgument struct {
	Base
	ID           int       `json:"id" yaml:"id" gorm:"primary_key;auto_increment"`
	TemplateID   int       `json:"template_id" yaml:"template_id" gorm:"unique_index:template_id_name" sql:"type:integer references templates(id)"`
	Template     *Template `json:"template" yaml:"template" gorm:"ForeignKey:TemplateID" validate:"omitempty,dive"`
	Name         string    `json:"name" yaml:"name" gorm:"unique_index:template_id_name" validate:"required"`
	Description  string    `json:"description" yaml:"description" form:"description" sql:"type:text"`
	Type         string    `json:"type" yaml:"type" validate:"oneof=int float bool string"`
	DefaultValue string    `json:"default_value" yaml:"default_value" validate:"required"`
	ToBeDeleted  bool      `json:"to_be_deleted,omitempty" yaml:"to_be_deleted,omitempty" sql:"-"`
}
func NewTemplateArgument() *TemplateArgument {
	return &TemplateArgument{}
}