欢迎参与 Ent 项目的中文文档翻译

2021-04-24 14:09:01 +08:00
 mengyx

前段时间一个 Golang 项目,我作主相对激进地选择了 Ent 作为 ORM 。 现在事实证明了,Ent 解决了 Go ORM 方面解决了很多痛点,我们可以花更少精力在这方面的处理上。

两周前,Ent 增加了中文文档翻译的计划,适逢其会,我在业余时间参与了一些翻译工作。 日前,Ent 项目组邀请我成为翻译校对人员(因为中文翻译的工作几乎我一个人在进行)。

现在也不好总是我一个人自己翻译,又自己校对通过。 因此,在此邀请正在使用 Ent 并乐意参与翻译工作的朋友,我们一同给开源项目添砖加瓦, 也让中文用户能够更好地使用 Ent 项目。

Ent 简介

对于没有使用过或不了解 Ent 项目的同学,这里进行一点简单的介绍:

Ent 是一个 Golang 上优秀的实体(ORM)框架。 它使用 Go 文件定义 Schema,生成静态的 Go ORM 操作代码,支持数据库自动迁移,能够方便地进行关联查询。

3873 次点击
所在节点    Go 编程语言
33 条回复
mengyx
2021-04-24 21:45:26 +08:00
@pc10201 已有数据库的情况下,可以不使用自动迁移功能
gowk
2021-04-25 09:11:32 +08:00
非常有兴趣,上班不忙的时候翻译一下!
merin96
2021-04-25 09:44:19 +08:00
下班回去看看能不能帮帮忙,支持一个
barbery
2021-04-25 10:49:49 +08:00
和 gorm 有啥区别?
mengyx
2021-04-25 11:15:40 +08:00
@barbery 会根据 Schema 生成静态的操作代码
可以参考下他的用法: https://entgo.io/zh/docs/crud/#%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%AE%9E%E4%BD%93
zzzmj
2021-04-25 11:23:28 +08:00
问个跟翻译无关,跟库有关的。ent 里面如何调用 mysql 内置函数
mengyx
2021-04-25 11:36:21 +08:00
@zzzmj 如果是混用,有好些方法。
如果是 Schema, Predictes, Order, Aggregate 之类的地方,文档里面都有写(都可以用自定义函数,自定义类型)。
最后可以用 External Template,完全自定义。

ent 内部其实对 sql 有一个内部封装,自定义的时候会用到,还是方便一些的。
gowk
2021-04-25 14:11:59 +08:00
我翻译了 predicates 一节,遇到不少问题,首先 predicates 就不知道如何翻译,翻译为谓词?断言?判别式?
还有 edge 不知道如何翻译,还是不翻译为好?
zzzmj
2021-04-25 14:48:54 +08:00
@mengyx 主要是之前遇到一个使用 Date 函数的 sql,就不知道如果转成 ent 的格式,external template 的 demo 感觉还是少了
labulaka521
2021-04-25 15:50:57 +08:00
能根据结构体自动生成 schema 吗
mengyx
2021-04-25 20:59:26 +08:00
@gowk 暂时用着“断言”吧,其他地方目前也是这样描述。
确实应该确定好术语表。稍后我跟 Ent 团队沟通一下,看下如何添加。
mengyx
2021-04-25 21:09:13 +08:00
@zzzmj 这样的需求感觉靠 Filed 定义中的 SchemaType GoType 可以实现。实在不行用 field.Other 应该也没问题。

参考: https://entgo.io/zh/docs/schema-fields#%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AD%97%E6%AE%B5%E7%B1%BB%E5%9E%8B
mengyx
2021-04-25 21:12:30 +08:00
@labulaka521 这个没有。Schema 毕竟还包含很多表结构相关的内容,自动生成不太现实。
(如果已有表结构的设计构思,写 Schema 应该是很快的)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/772915

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX