Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // WithGlobalUniqueID sets the universal ids options to the migration. // If this option is enabled, ent migration will allocate a 1<<32 range // for the ids of each entity (table). // Note that this option cannot be applied on tables that already exist. WithGlobalUniqueID = schema.WithGlobalUniqueID // WithDropColumn sets the drop column option to the migration. // If this option is enabled, ent migration will drop old columns // that were used for both fields and edges. This defaults to false. WithDropColumn = schema.WithDropColumn // WithDropIndex sets the drop index option to the migration. // If this option is enabled, ent migration will drop old indexes // that were defined in the schema. This defaults to false. // Note that unique constraints are defined using `UNIQUE INDEX`, // and therefore, it's recommended to enable this option to get more // flexibility in the schema changes. WithDropIndex = schema.WithDropIndex // WithFixture sets the foreign-key renaming option to the migration when upgrading // ent from v0.1.0 (issue-#285). Defaults to false. WithFixture = schema.WithFixture // WithForeignKeys enables creating foreign-key in schema DDL. This defaults to true. WithForeignKeys = schema.WithForeignKeys )
View Source
var ( // SysAPIColumns holds the columns for the "sys_api" table. SysAPIColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt64, Increment: true, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "created_at", Type: field.TypeTime, SchemaType: map[string]string{"mysql": "DATETIME"}}, {Name: "created_by", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "updated_at", Type: field.TypeTime, SchemaType: map[string]string{"mysql": "DATETIME"}}, {Name: "updated_by", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "group", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(32)"}}, {Name: "name", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(32)"}}, {Name: "path", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(255)"}}, {Name: "method", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(16)"}}, {Name: "desc", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(255)"}}, {Name: "permission", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(255)"}}, {Name: "status", Type: field.TypeUint8, Default: 0, SchemaType: map[string]string{"mysql": "tinyint unsigned"}}, } // SysAPITable holds the schema information for the "sys_api" table. SysAPITable = &schema.Table{ Name: "sys_api", Columns: SysAPIColumns, PrimaryKey: []*schema.Column{SysAPIColumns[0]}, } // SysDictDataColumns holds the columns for the "sys_dict_data" table. SysDictDataColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt64, Increment: true, SchemaType: map[string]string{"mysql": "int unsigned"}}, {Name: "created_at", Type: field.TypeTime, SchemaType: map[string]string{"mysql": "DATETIME"}}, {Name: "created_by", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "updated_at", Type: field.TypeTime, SchemaType: map[string]string{"mysql": "DATETIME"}}, {Name: "updated_by", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "dict_type_id", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int unsigned"}}, {Name: "label", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(100)"}}, {Name: "value", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(100)"}}, {Name: "sort", Type: field.TypeInt8, Default: 0, SchemaType: map[string]string{"mysql": "tinyint unsigned"}}, {Name: "status", Type: field.TypeInt8, Default: 0, SchemaType: map[string]string{"mysql": "tinyint unsigned"}}, {Name: "remark", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(500)"}}, {Name: "is_default", Type: field.TypeInt8, Default: 0, SchemaType: map[string]string{"mysql": "tinyint unsigned"}}, } // SysDictDataTable holds the schema information for the "sys_dict_data" table. SysDictDataTable = &schema.Table{ Name: "sys_dict_data", Columns: SysDictDataColumns, PrimaryKey: []*schema.Column{SysDictDataColumns[0]}, } // SysDictTypeColumns holds the columns for the "sys_dict_type" table. SysDictTypeColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt64, Increment: true, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "created_at", Type: field.TypeTime, SchemaType: map[string]string{"mysql": "DATETIME"}}, {Name: "created_by", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "updated_at", Type: field.TypeTime, SchemaType: map[string]string{"mysql": "DATETIME"}}, {Name: "updated_by", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "name", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(100)"}}, {Name: "type", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(100)"}}, {Name: "status", Type: field.TypeInt8, Default: 0, SchemaType: map[string]string{"mysql": "tinyint unsigned"}}, {Name: "remark", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(500)"}}, } // SysDictTypeTable holds the schema information for the "sys_dict_type" table. SysDictTypeTable = &schema.Table{ Name: "sys_dict_type", Columns: SysDictTypeColumns, PrimaryKey: []*schema.Column{SysDictTypeColumns[0]}, } // SysPermissionColumns holds the columns for the "sys_permission" table. SysPermissionColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt64, Increment: true, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "menu_id", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "name", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(255)"}}, {Name: "permission", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(255)"}}, } // SysPermissionTable holds the schema information for the "sys_permission" table. SysPermissionTable = &schema.Table{ Name: "sys_permission", Columns: SysPermissionColumns, PrimaryKey: []*schema.Column{SysPermissionColumns[0]}, } // SysRoleColumns holds the columns for the "sys_role" table. SysRoleColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt64, Increment: true, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "created_at", Type: field.TypeTime, SchemaType: map[string]string{"mysql": "DATETIME"}}, {Name: "created_by", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "updated_at", Type: field.TypeTime, SchemaType: map[string]string{"mysql": "DATETIME"}}, {Name: "updated_by", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "name", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(30)"}}, {Name: "sort", Type: field.TypeInt8, Default: 0, SchemaType: map[string]string{"mysql": "tinyint unsigned"}}, {Name: "status", Type: field.TypeInt8, Default: 0, SchemaType: map[string]string{"mysql": "tinyint unsigned"}}, {Name: "remark", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(500)"}}, {Name: "user_roles", Type: field.TypeInt64, Nullable: true, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, } // SysRoleTable holds the schema information for the "sys_role" table. SysRoleTable = &schema.Table{ Name: "sys_role", Columns: SysRoleColumns, PrimaryKey: []*schema.Column{SysRoleColumns[0]}, ForeignKeys: []*schema.ForeignKey{ { Symbol: "sys_role_sys_user_roles", Columns: []*schema.Column{SysRoleColumns[9]}, RefColumns: []*schema.Column{SysUserColumns[0]}, OnDelete: schema.SetNull, }, }, } // StaffColumns holds the columns for the "staff" table. StaffColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt64, Increment: true, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "uid", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "name", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(30)"}}, {Name: "phone", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(15)"}}, {Name: "email", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(30)"}}, {Name: "nickname", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(30)"}}, {Name: "avatar", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(255)"}}, {Name: "created_at", Type: field.TypeTime, SchemaType: map[string]string{"mysql": "DATETIME"}}, {Name: "created_by", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "updated_at", Type: field.TypeTime, SchemaType: map[string]string{"mysql": "DATETIME"}}, {Name: "updated_by", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, } // StaffTable holds the schema information for the "staff" table. StaffTable = &schema.Table{ Name: "staff", Columns: StaffColumns, PrimaryKey: []*schema.Column{StaffColumns[0]}, } // SysUserColumns holds the columns for the "sys_user" table. SysUserColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt64, Increment: true, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "created_at", Type: field.TypeTime, SchemaType: map[string]string{"mysql": "DATETIME"}}, {Name: "created_by", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "updated_at", Type: field.TypeTime, SchemaType: map[string]string{"mysql": "DATETIME"}}, {Name: "updated_by", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "uid", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "nickname", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(30)"}}, {Name: "avatar", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(255)"}}, {Name: "gender", Type: field.TypeEnum, Enums: []string{"male", "female", "unknow"}, Default: "unknow", SchemaType: map[string]string{"mysql": "enum('male','female','unknow')"}}, {Name: "remark", Type: field.TypeString, Default: "", SchemaType: map[string]string{"mysql": "varchar(500)"}}, } // SysUserTable holds the schema information for the "sys_user" table. SysUserTable = &schema.Table{ Name: "sys_user", Columns: SysUserColumns, PrimaryKey: []*schema.Column{SysUserColumns[0]}, } // SysUserRoleColumns holds the columns for the "sys_user_role" table. SysUserRoleColumns = []*schema.Column{ {Name: "id", Type: field.TypeInt, Increment: true}, {Name: "user_id", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, {Name: "role_id", Type: field.TypeInt64, Default: 0, SchemaType: map[string]string{"mysql": "int(11)unsigned"}}, } // SysUserRoleTable holds the schema information for the "sys_user_role" table. SysUserRoleTable = &schema.Table{ Name: "sys_user_role", Columns: SysUserRoleColumns, PrimaryKey: []*schema.Column{SysUserRoleColumns[0]}, Indexes: []*schema.Index{ { Name: "idx_user_id_role_id", Unique: true, Columns: []*schema.Column{SysUserRoleColumns[1], SysUserRoleColumns[2]}, }, }, } // Tables holds all the tables in the schema. Tables = []*schema.Table{ SysAPITable, SysDictDataTable, SysDictTypeTable, SysPermissionTable, SysRoleTable, StaffTable, SysUserTable, SysUserRoleTable, } )
Functions ¶
This section is empty.
Types ¶
type Schema ¶
type Schema struct {
// contains filtered or unexported fields
}
Schema is the API for creating, migrating and dropping a schema.
Click to show internal directories.
Click to hide internal directories.