// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.
// Code generated by gorm.io/gen. DO NOT EDIT.

package model

import (
	"time"
)

const TableNameMenu = "menu"

// Menu mapped from table <menu>
type Menu struct {
	ID             int64     `gorm:"column:id;type:bigint(20);primaryKey;autoIncrement:true" json:"id"`              // 菜单ID
	Environment    string    `gorm:"column:environment;type:varchar(64)" json:"environment"`                         // 环境
	Pid            int64     `gorm:"column:pid;type:bigint(20);index:pid,priority:1" json:"pid"`                     // 父菜单ID
	Title          string    `gorm:"column:title;type:varchar(64);not null" json:"title"`                            // 菜单名称
	Name           string    `gorm:"column:name;type:varchar(128);not null;uniqueIndex:name,priority:1" json:"name"` // 名称编码
	Path           string    `gorm:"column:path;type:varchar(200)" json:"path"`                                      // 路由地址
	Icon           string    `gorm:"column:icon;type:varchar(128)" json:"icon"`                                      // 菜单图标
	Type           bool      `gorm:"column:type;type:tinyint(1);not null;default:1" json:"type"`                     // 菜单类型（1目录 2菜单 3按钮）
	Redirect       string    `gorm:"column:redirect;type:varchar(255)" json:"redirect"`                              // 重定向地址
	Permissions    string    `gorm:"column:permissions;type:varchar(255)" json:"permissions"`                        // 菜单包含权限集合
	PermissionName string    `gorm:"column:permission_name;type:varchar(64)" json:"permission_name"`                 // 权限名称
	Component      string    `gorm:"column:component;type:varchar(255);not null" json:"component"`                   // 组件路径
	AlwaysShow     bool      `gorm:"column:always_show;type:tinyint(1)" json:"always_show"`                          // 取消自动计算根路由模式
	ActiveMenu     string    `gorm:"column:active_menu;type:varchar(255)" json:"active_menu"`                        // 高亮菜单编码
	IsRoot         bool      `gorm:"column:is_root;type:tinyint(1)" json:"is_root"`                                  // 是否跟路由
	IsFrame        bool      `gorm:"column:is_frame;type:tinyint(1);default:1" json:"is_frame"`                      // 是否内嵌
	FrameSrc       string    `gorm:"column:frame_src;type:varchar(512)" json:"frame_src"`                            // 内联外部地址
	KeepAlive      bool      `gorm:"column:keep_alive;type:tinyint(1)" json:"keep_alive"`                            // 缓存该路由
	Hidden         bool      `gorm:"column:hidden;type:tinyint(1)" json:"hidden"`                                    // 是否隐藏
	Affix          bool      `gorm:"column:affix;type:tinyint(1)" json:"affix"`                                      // 是否固定
	Level          int32     `gorm:"column:level;type:int(11);not null;default:1" json:"level"`                      // 级别
	Tree           string    `gorm:"column:tree;type:varchar(255);not null" json:"tree"`                             // 树
	Sort           int32     `gorm:"column:sort;type:int(11)" json:"sort"`                                           // 排序
	Remark         string    `gorm:"column:remark;type:varchar(255)" json:"remark"`                                  // 备注
	Status         bool      `gorm:"column:status;type:tinyint(1);default:1" json:"status"`                          // 菜单状态
	CreatedAt      time.Time `gorm:"column:created_at;type:datetime" json:"created_at"`                              // 创建时间
	UpdatedAt      time.Time `gorm:"column:updated_at;type:datetime" json:"updated_at"`                              // 更新时间
}

// TableName Menu's table name
func (*Menu) TableName() string {
	return TableNameMenu
}
