我正在尝试将我的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!无法确定要运行的可执行文件
那么,如何修复它并进行正确的迁移?如果开发环境迁移和生产环境迁移之间存在差异,那么这些差异是什么?
谢谢
1条答案
按热度按时间fnx2tebb1#
是的,你不能使用
npx prisma migrate dev
,因为mongodb适配器不需要它。npx db push
应该可以工作,你得到的错误,npm ERR! could not determine executable to run
与mongodb无关,检查prisma是否安装正确。对于开发和生产环境,您可以使用prisma手动创建迁移脚本。