如何在 NestJS 中使用原始 SQL 而不是 TypeOrm 或 Sequelize?

Dom*_*ver 2 sql orm sequelize.js typeorm nestjs

截至今天,TypeOrm 每周下载量超过 282.102 次,有 1.493 个问题,Github 每周下载量超过 571.781 次,Sequelize 783 个问题。

当我阅读 TypeOrm 和 Sequelize Github 问题时,我想通过编写原始 SQL 而不是处理诸如丢失数据、同步实体或由于默认 ORM 类型而更改的类型时丢失列等主要问题来避免这些主要问题。

我将 NestJs 7.0.3 与 TypeGraphQL、PostgreSQL v12.2 和 TypeScript 一起使用。自 2019 年以来,我在 TypeOrm 上提出了两个问题。

我了解使用 ORM 的优点,但我想知道如果我使用原始 SQL 来完全替换 TypeORM 或 Sequelize,NestJS 是否可以有效地工作?

非常感谢您的见解。罗恩

Jay*_*iel 6

您始终可以使用您选择的数据库驱动程序创建自己的Dynamic Module。我有一个基于node-pg包的数据库模块,并且喜欢为它编写自己的 SQL。您可以在此处查看源代码。它不是已发布的软件包,但它应该可以帮助您到达所需的位置。

  • 您不一定非要使用我的代码作为比较,我确实使用了一些帮助程序包来使事情变得更容易;然而,[本文](https://dev.to/nestjs/build-a-nestjs-module-for-knex-js-or-other-resource-based-libraries-in-5-minutes-12an)是写得非常好,并开始介绍动态模块的一些工作。John 在 Nest 上有很多不错的文章,所以如果您也想的话,可以从他那里找到一些您感兴趣的内容。[这是他的另一个](https://dev.to/nestjs/advanced-nestjs-how-to-build-completely-dynamic-nestjs-modules-1370) (2认同)