在我的项目的最后一部分,我似乎无法正确地部署prisma数据库。该网站成功构建,我可以查看该网站,但我尝试访问数据库的过程中,它说:
Invalid prisma.product.findUnique() invocation: The table main.Product does not exist in the current database.
我确实有一个模式可以让它迁移出去:
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的构建过程中,它指定了以下内容:
从'@ prisma /client‘导入{ PrismaClient }11月3日:40:16 PM const =新的PrismaClient()
11月3日02:40:19下午普里斯马模式从服务器/数据库/模式加载. PM 2002.11:40:19 PM Datasource "db":SQLite数据库"dev.db“位于文件:./dev.db
11月3日02:40:19下午3:40:19下午3:40:19在普里斯马/迁移中没有发现移民
11月3日02:40:19
11月3日02:40:19下午没有待处理的移民申请。
我已经将build命令设置为这样:
npm install; prisma generate --schema=./server/database/schema.prisma; prisma migrate deploy --schema=./server/database/schema.prisma; npm run build;
当时,在最近的提交中没有迁移目录。
在构建项目时,它是否包括我为迁移配置的内容?是“--模式=.”指向构建位置的正确目录?
我尝试了什么:总的来说,由于我缺乏知识,我有更多的问题要比我尝试过的事情多。
当我查看这个项目的nuxt构建文件时,它会生成一个与未构建的文件结构完全不同的文件结构,当将SQL指向dev.db时,它可能是指向错误的吗?
另外,SQL对生产不好吗?如果是这样的话,那么如何将这个db安装到部署服务器上呢?
Nov 3 02:40:19 PM Datasource "db": SQLite database "dev.db" at "file:./dev.db"这一行是否表示它已找到要连接的数据库?总的来说,我很困惑,尽管它是在我的模式中提供的,但它如何找不到Products表。
总体问题是,是什么原因导致构建的nuxt应用程序在查询时看不到表?
发布于 2022-11-04 14:38:52
OP通过在指向架构的链接之前运行迁移来解决这个问题。
https://stackoverflow.com/questions/74303665
复制相似问题