Xorm 引擎
Xorm 单库引擎 Xorm 引擎组 Xorm 引擎组负载策略Xorm 表结构体
Xorm 名称映射规则 Xorm 名称映射前后缀 Xorm 改变映射名称 Xorm Column属性定义 Xorm Go与字段对应表Xorm 数据库操作
Xorm 表结构操作 Xorm 同步数据库结构 Xorm 导出导入SQL Xorm 插入数据 Xorm 记录创建时间Xorm 查询数据
Xorm 查询方法 Xorm 临时开关方法 Xorm Get方法 Xorm Exist方法 Xorm Find方法 Xorm Join语句 Xorm Iterate方法 Xorm Count方法 Xorm Rows方法 Xorm Sum方法Xorm 更新数据
Xorm 更新数据 Xorm 乐观锁 Xorm 更新时间Xorm 删除数据
Xorm 删除数据Xorm SQL
Xorm 执行原生 SQLXorm 高级操作
Xorm 事务处理 Xorm 缓存处理 Xorm 事件处理 Xorm 常用工具 Xorm 常见问题Xorm 引擎
Xorm 单库引擎 Xorm 引擎组 Xorm 引擎组负载策略Xorm 表结构体
Xorm 名称映射规则 Xorm 名称映射前后缀 Xorm 改变映射名称 Xorm Column属性定义 Xorm Go与字段对应表Xorm 数据库操作
Xorm 表结构操作 Xorm 同步数据库结构 Xorm 导出导入SQL Xorm 插入数据 Xorm 记录创建时间Xorm 查询数据
Xorm 查询方法 Xorm 临时开关方法 Xorm Get方法 Xorm Exist方法 Xorm Find方法 Xorm Join语句 Xorm Iterate方法 Xorm Count方法 Xorm Rows方法 Xorm Sum方法Xorm 更新数据
Xorm 更新数据 Xorm 乐观锁 Xorm 更新时间Xorm 删除数据
Xorm 删除数据Xorm SQL
Xorm 执行原生 SQLXorm 高级操作
Xorm 事务处理 Xorm 缓存处理 Xorm 事件处理 Xorm 常用工具 Xorm 常见问题Xorm 表结构操作
xorm 提供了一些动态获取和修改表结构的方法,通过这些方法可以动态同步数据库结构,导出数据库结构,导入数据库结构。如果您只是需要一个工具,可以直接使用go get github.com/go-xorm/cmd/xorm来安装xorm命令行工具。
1. 获取数据库信息
我们可以通过 DBMetas()、TableInfo()获取数据库信息和表信息。
- DBMetas()
xorm支持获取表结构信息,通过调用 engine.DBMetas() 可以获取到数据库中所有的表,字段,索引的信息。
- TableInfo()
根据传入的结构体指针及其对应的Tag,提取出模型对应的表结构信息。这里不是数据库当前的表结构信息,而是我们通过struct建模时希望数据库的表的结构信息。
2. 表操作
- CreateTables()
创建表使用 engine.CreateTables(),参数为一个或多个空的对应Struct的指针。同时可用的方法有Charset()和StoreEngine(),如果对应的数据库支持,这两个方法可以在创建表时指定表的字符编码和使用的引擎。Charset()和StoreEngine()当前仅支持Mysql数据库。
- IsTableEmpty()
判断表是否为空,参数和CreateTables相同。
- IsTableExist()
判断表是否存在。
- DropTables()
删除表使用 engine.DropTables(),参数为一个或多个空的对应Struct的指针或者表的名字。如果为string传入,则只删除对应的表,如果传入的为Struct,则删除表的同时还会删除对应的索引。
3. 创建索引和唯一索引
- CreateIndexes
根据struct中的tag来创建索引。
- CreateUniques
根据struct中的tag来创建唯一索引。
下一章:Xorm 同步数据库结构
同步能够部分智能的根据结构体的变动检测表结构的变动,并自动同步。目前有两个实现: 1. SyncSync将进行如下的同步操作:* 自动检测和创建表,这个检测是根据表的名字* 自动检测和新增表中的字段,这个 ...
AI 中文社