错误:P1014 模型“_migration”的基础表不存在
Posted
技术标签:
【中文标题】错误:P1014 模型“_migration”的基础表不存在【英文标题】:Error: P1014 The underlying table for model `_migration` does not exist 【发布时间】:2021-02-20 14:13:57 【问题描述】:我在 Prisma 迁移中遇到此错误。我知道这是实验性的,但我需要数据库中的迁移表。
我的架构如下
datasource db
provider = "mysql"
url = env("DATABASE_URL")
generator client
provider = "prisma-client-js"
// a user can be an admin or a borrower or lender
enum Role
Lender
Borrower
Admin
model User
id Int @id @default(autoincrement())
email String @unique
name String
role Role
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
首先我运行 npx prisma migrate save --experimental
然后 npx prisma 向上迁移 --experimental
我得到的错误是这样的。
错误:P1014
模型_migration
的基础表不存在。
另外,在我调用 npx prisma migrate save --experimental 之后,迁移表在数据库中 但是在我运行 npx prisma migrate up --experimental 之后,它向我显示了这个错误。
【问题讨论】:
您使用的是哪个版本的@prisma/client
和@prisma/cli
?通过在单独的数据库上本地安装相同的最新版本来重试。
我正在使用 @prisma/client 和 @prisma/cli 的 2.10.2 版本。我也重新安装了它们,但仍然无法工作。
您能分享一下您与架构一起遵循的步骤吗?
已更新,其他一切正常。只是那个错误,迁移表不在数据库中。
【参考方案1】:
我用2.10.2
尝试了上述架构,它在干净的新数据库上运行良好。我建议再次尝试删除由 Prisma 创建的本地 migrations
文件夹并使用以下命令进行检查:
prisma migrate save --experimental
prisma migrate up --experimental
这应该适用于没有任何表的干净数据库。
【讨论】:
是的,这应该可以。我正在关注文档。但事实并非如此。 这个问题只出现在我使用mysql时,而不是使用sqlite或pgsql时......为什么会这样?以上是关于错误:P1014 模型“_migration”的基础表不存在的主要内容,如果未能解决你的问题,请参考以下文章