在express中连接prisma和mongodb

qlvxas9a  于 2023-06-05  发布在  Go
关注(0)|答案(1)|浏览(207)

我正在尝试将我的Prisma模式连接/迁移到我的MongoDB集群。我有我的MongoDB连接字符串,并有一个Prisma客户端的示例。
下面是我的prisma/schema.prisma文件:

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mongodb"
  url      = env("DATABASE_URL")
}

model User {
  id        String    @id @default(auto()) @map("_id") @db.ObjectId
  createdAt DateTime  @default(now())
  username  String
  password  String 
  email     String    @unique
}

所以,为了迁移,我使用了命令“npx prisma migrate dev”,得到了这个错误:
从.env加载的环境变量从prisma/schema.prisma数据源“db”加载的Prisma schema:MongoDB数据库“DATABASE”在“HOST”
错误:此命令不支持“mongodb”提供程序。有关更多信息,请参阅https://www.prisma.io/docs/concepts/database-connectors/mongodb 0:schema_core::state::DevDiagnostic位于schema-engine/core/src/state.rs:266
我去了Prisma文档中的那个链接,看到了这个:“目前,没有计划添加对Prisma Migrate的支持,因为MongoDB项目不依赖于内部模式,其中需要使用额外的工具来管理更改。@unique索引的管理是通过db push实现的。”
所以,我尝试了命令“npx db push”,得到了这个错误:npm ERR!无法确定要运行的可执行文件
那么,如何修复它并进行正确的迁移?如果开发环境迁移和生产环境迁移之间存在差异,那么这些差异是什么?
谢谢

fnx2tebb

fnx2tebb1#

是的,你不能使用npx prisma migrate dev,因为mongodb适配器不需要它。
npx db push应该可以工作,你得到的错误,npm ERR! could not determine executable to run与mongodb无关,检查prisma是否安装正确。
对于开发和生产环境,您可以使用prisma手动创建迁移脚本。

相关问题