前段时间一个 Golang 项目,我作主相对激进地选择了 Ent 作为 ORM 。 现在事实证明了,Ent 解决了 Go ORM 方面解决了很多痛点,我们可以花更少精力在这方面的处理上。
两周前,Ent 增加了中文文档翻译的计划,适逢其会,我在业余时间参与了一些翻译工作。 日前,Ent 项目组邀请我成为翻译校对人员(因为中文翻译的工作几乎我一个人在进行)。
现在也不好总是我一个人自己翻译,又自己校对通过。 因此,在此邀请正在使用 Ent 并乐意参与翻译工作的朋友,我们一同给开源项目添砖加瓦, 也让中文用户能够更好地使用 Ent 项目。
对于没有使用过或不了解 Ent 项目的同学,这里进行一点简单的介绍:
Ent 是一个 Golang 上优秀的实体(ORM)框架。 它使用 Go 文件定义 Schema,生成静态的 Go ORM 操作代码,支持数据库自动迁移,能够方便地进行关联查询。
1
janxin 2021-04-24 14:19:08 +08:00 1
之前我也翻译了一些,比如博客 XD
|
3
learningman 2021-04-24 14:52:59 +08:00
为什么几乎所有的 golang 库都有个地鼠。。。别的语言就没这种情况
|
4
darksword21 2021-04-24 15:06:07 +08:00
也在使用,我觉得自己能看懂和想翻译成别人能看懂完全是两件事
|
5
monsterX 2021-04-24 15:29:16 +08:00 via Android
@learningman golang 的吉祥物 大概是动物形象,比较好进行周边扩展
|
6
learningman 2021-04-24 15:33:53 +08:00
@monsterX #5 python 也有蟒蛇啊,但是没几个库贴条🐍。。。
|
7
Yian 2021-04-24 15:43:06 +08:00 1
咦,前几天刚好看到 Ent 有 Translations 了,就点进去看了一下,第一次接触 Crowdin,就随手翻译了 Testing 那一节试水🤣
|
8
chihiro2014 2021-04-24 15:50:42 +08:00
来参与围观下
|
9
mengyx OP @darksword21 没关系的,不必害怕,即使翻译得不好,这也不是一次性的。
如果有人有更好的翻译,也可以讨论修改掉旧的。翻译质量即使这样一步步提高的。 |
10
monsterX 2021-04-24 16:17:38 +08:00 via Android
@learningman 虽说是🐍,但是总是过于抽象了,要设计也不好设计吧
|
11
nguoidiqua 2021-04-24 16:48:54 +08:00
|
12
ReferenceE 2021-04-24 17:58:10 +08:00 via Android
看到"痛点"二字有点 PTSD(路过吃瓜
|
13
MengiNo 2021-04-24 18:00:29 +08:00 via iPhone
go 那个比较好看吧,也比较激发大家二创灵感和欲望。我觉得 jaeger 的 logo 设计的就很传神,还有比如像 etcd 这样的就用的是自己设计的 logo 。
|
14
sherlockwhite 2021-04-24 18:25:42 +08:00 1
要怎么参与呢
|
15
sherlockwhite 2021-04-24 18:26:02 +08:00
看到了,没注意,不好意思
|
16
mengyx OP @ReferenceE 😂不至于 PTSD 吧
这里表达的就是其本意 指其它 Go ORM 存在的一些用起来难受的地方 |
17
mengyx OP @MengiNo 嗯 有道理 gopher 给人蠢萌蠢萌感觉。而且也很有特点,进行一些变化之后看得出来是 gopher 。
类似的还有 casbin traefik gin 之类的 |
18
server 2021-04-24 19:51:25 +08:00
上车 ent
|
19
rrfeng 2021-04-24 20:07:09 +08:00 via Android
看过没上,确实有兴趣。
|
20
pc10201 2021-04-24 21:04:10 +08:00
能将遗留数据库生成模型吗?
|
22
gowk 2021-04-25 09:11:32 +08:00 1
非常有兴趣,上班不忙的时候翻译一下!
|
23
merin96 2021-04-25 09:44:19 +08:00 1
下班回去看看能不能帮帮忙,支持一个
|
24
barbery 2021-04-25 10:49:49 +08:00
和 gorm 有啥区别?
|
25
mengyx OP @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 |
26
zzzmj 2021-04-25 11:23:28 +08:00 via iPhone
问个跟翻译无关,跟库有关的。ent 里面如何调用 mysql 内置函数
|
27
mengyx OP @zzzmj 如果是混用,有好些方法。
如果是 Schema, Predictes, Order, Aggregate 之类的地方,文档里面都有写(都可以用自定义函数,自定义类型)。 最后可以用 External Template,完全自定义。 ent 内部其实对 sql 有一个内部封装,自定义的时候会用到,还是方便一些的。 |
28
gowk 2021-04-25 14:11:59 +08:00 1
我翻译了 predicates 一节,遇到不少问题,首先 predicates 就不知道如何翻译,翻译为谓词?断言?判别式?
还有 edge 不知道如何翻译,还是不翻译为好? |
29
zzzmj 2021-04-25 14:48:54 +08:00
@mengyx 主要是之前遇到一个使用 Date 函数的 sql,就不知道如果转成 ent 的格式,external template 的 demo 感觉还是少了
|
30
labulaka521 2021-04-25 15:50:57 +08:00
能根据结构体自动生成 schema 吗
|
31
mengyx OP @gowk 暂时用着“断言”吧,其他地方目前也是这样描述。
确实应该确定好术语表。稍后我跟 Ent 团队沟通一下,看下如何添加。 |
32
mengyx OP @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 |
33
mengyx OP @labulaka521 这个没有。Schema 毕竟还包含很多表结构相关的内容,自动生成不太现实。
(如果已有表结构的设计构思,写 Schema 应该是很快的) |