Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
人工智能
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
更多话题
ent - 一个强大的Go语言实体框架
22-10-31
banq
ent是一个简单而又功能强大的Go语言实体框架,ent易于构建和维护应用程序与大数据模型。
图就是代码 - 将任何数据库表建模为Go对象。
轻松地遍历任何图形 - 可以轻松地运行查询、聚合和遍历任何图形结构。
静态类型和显式API - 使用代码生成静态类型和显式API,查询数据更加便捷。
多存储驱动程序 - 支持MySQL, PostgreSQL, SQLite 和 Gremlin。
可扩展 - 简单地扩展和使用Go模板自定义。
ent允许直接在嵌入语言中使用基于图的数据模型,而不是强迫开发人员学习新的查询语言,如 Datomic datalog 或 SPARQL,同时避免锁定到特定的数据存储后端。
使用方便:
* 使用Ent+Atlas进行自动数据库迁移。Ent实现了很多伟大的低级别的默认,不需要考虑(外键约束、索引、连接表的命名等等)。
* 从Ent Schema生成GraphQL API
* 生成Protobuf定义,供内部工具使用(现在使用Buf作为实际的工具,但生成protobuf可以节省大量的时间)。
* 能够快速制作真正复杂的多边连接,而不需要真正考虑SQL,这使得新功能能够快速实现。
* 查询优化,例如在GraphQL查询中使用WINDOW子句进行分页(我甚至都没有想到这是有可能的)。
* 生成的代码有很多行,但它的结构非常好,而且是习惯性的,使其易于扩展。
如果您只是在寻找 ORM + GraphQL,请尝试 Entgql,它是带有 Gqlgen 库 [1] 的 GraphQL 的 Ent 扩展。定义 ORM 模式后,它将为中继服务器生成 GraphQL 查询。您仍然需要自己实现 GraphQL 突变,但至少它会为您创建输入类型(用于创建/更新)。
:
https ://github.com/99designs/gqlgen
TypeScript 中一个 Ent 启发的 ORM:
https ://aphrodite.sh/
Go语言
ORM模式
持久层框架