在当前数据库中不存在表`main.Product`。如何在render.com上部署Prisma数据库?
P粉151720173
P粉151720173 2023-12-21 23:47:25
0
1
516

在我的项目的最后一部分中,我似乎无法正确部署 prisma 数据库。该网站成功构建,我可以查看该网站,但当我尝试访问数据库时,它显示以下内容:

无效的 prisma.product.findUnique() 调用:表 main.Product 在当前数据库中不存在。

我确实有用于迁移的架构:

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

datasource db {
  provider = "sqlite"
  url      = "file:./dev.db"
}
...
model Product {
  id               String         @id@unique
  quantity         Int            @default(0)
  physical         Boolean        @default(false)
  onhold           Int            @default(0)
}

...

在 render.com 上的构建过程中,它指定了以下内容:

11 月 3 日 02:40:16 PM 从“@prisma/client”导入 { PrismaClient } 11 月 3 日 02:40:16 PM const prisma = new PrismaClient() 11 月 3 日下午 02:40:16

11 月 3 日 02:40:19 PM 从 server/database/schema.prisma 加载 Prisma 架构 11 月 3 日 02:40:19 PM 数据源“db”:SQLite 数据库“dev.db”位于“file:./dev.db” 11 月 3 日下午 02:40:19

11 月 3 日 02:40:19 PM 在 prisma/migrations 中未发现迁移 11 月 3 日下午 02:40:19

11 月 3 日下午 02:40:19

11 月 3 日下午 02:40:19 没有待申请的迁移。

我已经设置了构建命令:

npm 安装; prisma 生成 --schema=./server/database/schema.prisma; prisma 迁移部署 --schema=./server/database/schema.prisma; npm run build;

当时最新提交中没有迁移目录

当项目构建时,它会包含我为迁移配置的内容吗? “--schema=...”是否指向构建时的正确目录?

我尝试过的: 总的来说,由于我缺乏知识,我的问题比我尝试过的事情还要多。

当我查看该项目的 nuxt 构建文件时,它生成的文件结构与未构建时完全不同,当将 SQL 数据库定标到 dev.db 时,它可能会指向错误吗?

另外,SQL lite 不适合生产?如果是这样,什么替代方案会更好,以及如何将该数据库安装到部署服务器上?

11 月 3 日 02:40:19 PM 数据源“db”:SQLite 数据库“dev.db”位于“file:./dev.db”

这一行是否表明它已找到要连接的数据库? 总的来说,我很困惑为什么它找不到产品表,尽管它在我的架构中提供了。

总体问题是,是什么导致构建的 nuxt 应用程序在查询时看不到该表?

P粉151720173
P粉151720173

全部回复(1)
P粉186904731

OP 通过在链接到架构之前运行迁移解决了该问题。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板