【问题标题】:Can I use prisma and node-postgres tougether我可以同时使用 prisma 和 node-postgres
【发布时间】:2021-11-15 00:20:30
【问题描述】:

我开始使用prisma 来处理数据库迁移。它处理得很好。但是对于它不能很好地处理与查询相关的事情有许多未解决的问题(最大的问题与queryRaw 相关,并不总是按预期工作,并且没有直接使用postgreSQL 行级安全性的方法)。我发现与prsima 中的查询相关的所有问题都可以在node-postgres 中轻松完成。

我从文档中了解到,其中一些问题在 knexjs 中不是问题,但 prisma 具有功能更丰富的迁移设置(automatic 并且可以是 customized)。

我可以安全地同时使用prismanode-postgres 吗?如果是这样,怎么做?例如,使用prisma 进行架构设计和数据库迁移,使用node-postgres 进行我的所有查询逻辑?

【问题讨论】:

    标签: postgresql prisma node-postgres


    【解决方案1】:

    是的,您可以安全地同时使用prismanode-postgres

    您的工作流程将如下所示:

    1. 创建一个Prisma Schema 来定义您的模型和基础数据库表。
    2. 使用Prisma CLIprisma npm 库)运行到数据库的迁移。这将在node_modules/.prisma/client 目录中生成客户端,您可以选择将其删除,因为您不会使用它。
    3. 不要在节点应用程序中使用生成的Prisma Client,而是使用node-postgres 库对应用程序中的数据库运行查询。

    由于您仅使用 Prisma 对数据库结构进行任何类型的迁移或更改,因此您的 prisma 架构没有与您的数据库同步的风险。万一发生这种情况,您始终可以使用 prisma db pull 使其恢复同步。

    此外,由于您的应用程序不会使用 Prisma 客户端连接到数据库以运行查询,node-postgres 将处理连接池。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-01
      • 2019-05-10
      • 2022-12-30
      • 2016-09-20
      • 1970-01-01
      • 2021-10-08
      • 1970-01-01
      • 2013-03-28
      相关资源
      最近更新 更多