8

我有一个生产项目要开发。这是一个电子商务网站。我当前的堆栈:

  1. 节点.js
  2. 打字稿
  3. PostgreSQL

现在我必须为这个项目选择一个 ORM。我想我有两个选择:

  1. 类型ORM。我以前用过这个 ORM。它是一款不错且稳定的软件,但是 TypeORM 有一段时间的维护问题。我不确定这个 ORM 的未来。
  2. MikroORM。TypeORM 缺少一些有用的功能,例如 @Filters(范围)和批量订阅者,而另一方面 MikroORM 具有这些功能或替代品(请参阅过滤器批量订阅者的替代品)。但是 MikroORM 不那么流行并且相对较新。而且 MikroORM 的许多功能仍处于alpha阶段

概括

缺乏维护和功能但稳定的 ORM 或具有良好维护、新功能但未经实战测试的 ORM。哪个选项更好?或者也许有一些替代方案?

4

3 回答 3

10

你可以查看Sequelize - https://sequelize.org,它支持 TypeScript,但我认为语法有点丑。三者中,Sequelize 是最成熟的 ORM。

TypeORM非常好,但有一些像这样的主要错误 - https://github.com/typeorm/typeorm/issues/3095。我遇到了与保存一对多关系相关的相同或类似的问题,我认为这是每个 ORM 最重要的特性之一,它必须正常工作。

我使用MikroORM有一段时间了——还有一些小问题,幸运的是在版本 4 中得到了修复。总的来说,大部分功能都可以正常工作,而且我遇到的几乎所有问题在 github 上报告后都很快得到了解决。

于 2020-08-10T20:54:09.210 回答
2

我推荐Prisma,这是一个新的 NodeJS ORM,具有强大的特性和文档。

于 2021-06-05T18:55:35.813 回答
0

有一个名为@gradii/fedaco的 orm 。从 laravel eloquent 转换而来的代码。目前仍在wip中

实际上现在我没有时间和兴趣需要很长时间来维护这个项目。打字稿代码和部分测试未向公众发布。

于 2021-11-04T08:34:10.953 回答