# 模型定义
复杂的模型定义不是必须的,此功能用作数据库数据转换和[自动建表](https://www.kancloud.cn/oldlei/beego/1288519)
默认的表名规则,使用驼峰转蛇形:
~~~
AuthUser -> auth_user
Auth_User -> auth__user
DB_AuthUser -> d_b__auth_user
~~~
除了开头的大写字母以外,遇到大写会增加`_`,原名称中的下划线保留。
## 自定义表名
~~~
type User struct {
Id int
Name string
}
func (u *User) TableName() string {
return "auth_user"
}
~~~
如果[前缀设置](https://www.kancloud.cn/oldlei/beego/1288512)为`prefix_`那么表名为:prefix\_auth\_user
## 自定义索引
为单个或多个字段增加索引
~~~
type User struct {
Id int
Name string
Email string
}
// 多字段索引
func (u *User) TableIndex() [][]string {
return [][]string{
[]string{"Id", "Name"},
}
}
// 多字段唯一键
func (u *User) TableUnique() [][]string {
return [][]string{
[]string{"Name", "Email"},
}
}
~~~
## 自定义引擎
仅支持 MySQL
默认使用的引擎,为当前数据库的默认引擎,这个是由你的 mysql 配置参数决定的。
你可以在模型里设置 TableEngine 函数,指定使用的引擎
~~~
type User struct {
Id int
Name string
Email string
}
// 设置引擎为 INNODB
func (u *User) TableEngine() string {
return "INNODB"
}
~~~
- go环境搭建
- 解决go get网络慢的问题
- beego的安装
- bee的安装
- 编辑器
- go module
- 配置文件详解
- 配置文件其他说明
- 路由方法
- 路由
- 数据校验
- 校验函数
- 页面跳转
- 获取前端数据
- json文件的获取
- xsrf的用法
- xsrf的防护
- srfs和json的搭配
- flash的用法
- 过滤器
- url反转
- 各类数据的处理
- 模板函数
- 内置模板函数
- 自定义模板函数
- 模板
- 模板处理
- 模板渲染
- 视图文件的处理
- 静态文件
- 请求方式判断
- 验证码
- 另一种方法
- 分页类
- session
- 登录判断
- orm模块
- 使用方法
- mysql的安装
- 安装orm及驱动
- 建立模型
- 自定义模型
- 增删改查
- 高级查询
- 常见问题汇总
- 代码收藏
- 打包部署
- go build打包
- utils收藏
- 新goer容易犯的错
- 字符串操作