raj*_*023 5 postgresql database-schema sequelize.js nestjs
我们的团队决定使用 Nest.js 来实现基于 SaaS 的应用程序,并且是 Node.js 环境的新手。对于数据库存储,我们使用 postgres,它支持每个租户的多个模式,sequelise 是我们的 ORM。现在我们面临的一个问题是如何动态切换schema。经过大量研究后,我们找不到可靠的方法。以下是我们遇到的一些事情,
我们遇到了 Nest.js 的动态模式切换 typeOrm,它们在中间件中动态切换模式并重新实例化数据库连接实例,通过注入服务或在必要时使用它。
参考:
另一种方法是根据文档使用“scope: Scope.REQUEST”,它也会警告性能问题。
现在我的问题是,由于 node.js 是单线程环境,我想知道下面提到的哪种方式是续集的最佳用例。
选项1:
从sequelise的文档中,有一个选项可以使用“options.searchPath”为每个orm方法(find、findAll ...)设置搜索路径。由于 Node.js 是单线程的,因此在请求标头中传递架构名称并在这样的查询中使用它,是否会导致需要注意的任何问题。在 Ruby On Rails 中,我们有单独的线程使用“thread.current”来处理这个问题,有人可以解释这种方法吗?
选项2:
由于我们已经有了基于代码的代码,是否有一种像 typeOrm 版本那样动态获取续集数据库连接的方法,如上所述,这样我们就不会更改现有代码中的其他任何地方,如果是这样,该怎么做?
谢谢
| 归档时间: |
|
| 查看次数: |
2315 次 |
| 最近记录: |