2019年10月15日

ent 基本使用十九 事务处理

摘要: ent 生成的代码中client 提供了比较全的事务处理 启动单个事务进行处理 // GenTx generates group of entities in a transaction. func GenTx(ctx context.Context, client *ent.Client) err 阅读全文

posted @ 2019-10-15 16:00 荣锋亮 阅读(864) 评论(0) 推荐(0) 编辑

ent 基本使用十四 edge

摘要: edge 在ent 中属于比较核心,同时也是功能最强大的,ent 提供了比较强大的关系模型 快速使用 参考图 以上包含了两个通过边定义的关系 pets/owner: user package schema ​ import ( "github.com/facebookincubator/ent" " 阅读全文

posted @ 2019-10-15 14:02 荣锋亮 阅读(1228) 评论(0) 推荐(0) 编辑

ent 基本使用十八 查询谓词

摘要: ent 生成的代码包含了比较完整的查询谓词 字段谓词 Bool: =, != Numeric: =, !=, >, <, >=, <=, IN, NOT IN Time: =, !=, >, <, >=, <= IN, NOT IN String: =, !=, >, <, >=, <= IN, N 阅读全文

posted @ 2019-10-15 13:50 荣锋亮 阅读(485) 评论(0) 推荐(0) 编辑

ent 基本使用十七 分页与排序

摘要: ent 提供了方便的数据分页以及排序处理 limit 分页 users, err := client.User. Query(). Limit(n). All(ctx) users, err := client.User. Query(). Limit(n). All(ctx) users, err 阅读全文

posted @ 2019-10-15 13:42 荣锋亮 阅读(800) 评论(0) 推荐(0) 编辑

ent 基本使用十六 聚合

摘要: ent 提供了聚合处理 一个group by + 聚合的处理(age以及name字段) package main ​ import ( "context" ​ "<project>/ent" "<project>/ent/user" ) ​ func Do(ctx context.Context, 阅读全文

posted @ 2019-10-15 13:39 荣锋亮 阅读(676) 评论(0) 推荐(0) 编辑

ent 基本使用十五 一个图遍历的例子

摘要: 以下是来自官方的一个user group pet 的查询demo 参考关系图 环境准备 docker-compose mysql 环境 version: "3" services: mysql: image: mysql:5.7.16 ports: - 3306:3306 command: --ch 阅读全文

posted @ 2019-10-15 13:33 荣锋亮 阅读(759) 评论(0) 推荐(0) 编辑

ent 基本使用十三 debug 模式

摘要: ent 生成的代码client 包中包含了一个方便的方法Debug(), 记得昨天我为了查看生成的sql 查询通过配置mysql 启用慢查询,同时设置记录慢查询为0,实际上client Debug 方法使用了builder 的模式,我们通过Debug 方法 可以直接就方便的输出生成的sql 参考代码 阅读全文

posted @ 2019-10-15 11:21 荣锋亮 阅读(872) 评论(0) 推荐(0) 编辑

ent 基本使用十二 字段

摘要: 字段或者属性,在schema中是定点的属性,比如user 包含4个字段age,name,username,created_at 图表展示如下: 代码描述 package schema ​ import ( "time" ​ "github.com/facebookincubator/ent" "gi 阅读全文

posted @ 2019-10-15 10:15 荣锋亮 阅读(805) 评论(0) 推荐(0) 编辑

ent 基本使用十一 sql.DB 集成

摘要: 这个功能是github中大家提的比较多的一个,所以官方也暴露了相关的api 配置sql.DB 一种方式 package main ​ import ( "time" ​ "<your_project>/ent" "github.com/facebookincubator/ent/dialect/sq 阅读全文

posted @ 2019-10-15 09:23 荣锋亮 阅读(944) 评论(0) 推荐(0) 编辑

ent 基本使用十 数据库迁移

摘要: ent 提供了便捷的数据库迁移处理,我们可以直接使用生成的代码进行操作,同时代码也提供了比较全的运行选项 默认迁移处理 我们通过create 进行资源创建,默认是append-only 模式 ,以为着只会创建新的表以及索引 ,同时添加列到表,或者 扩展现有列的数据类型 if err := clien 阅读全文

posted @ 2019-10-15 09:18 荣锋亮 阅读(705) 评论(0) 推荐(0) 编辑

ent 基本使用九 代码生成

摘要: ent 提供了cli 工具,可以方便我们进行schema 以及代码生成,同时目前提供的cli已经够用了 安装 cli go get github.com/facebookincubator/ent/cmd/entc go get github.com/facebookincubator/ent/cm 阅读全文

posted @ 2019-10-15 08:54 荣锋亮 阅读(1386) 评论(0) 推荐(0) 编辑

导航