我正在使用 Prisma (sqlite DB) 和 Electron + Angular 应用程序
一切正常,直到我尝试创建记录
我在控制台中多次重复收到此错误 https://i.stack.imgur.com/I0beD.png
这是我的 schema.prisma 文件的一部分:
datasource db {
provider = "sqlite"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
binaryTargets = ["native","darwin","debian-openssl-1.1.x","linux-musl"]
}
我尝试过在临时 TS 项目中使用相同的 Prisma 配置,效果很好
当我用电子尝试时,我遇到了错误
据我了解,它找不到查询引擎二进制文件,但我不知道如何对 Electron 说从哪里获取它们
Hi
我对 prisma 也有类似的问题。
-
问题是自定义 prisma 客户端以及下载的使用平台的二进制文件是在node_modules/.prisma
文件夹(默认)。
-
当 webpack 捆绑代码时,.prisma
文件夹未包含在生成的 app.asar 包中node_modules
文件夹,因此 prisma 客户端无法与二进制文件一起加载。
Solution
我更改了生成的 prisma 客户端的输出路径棱镜文档 https://www.prisma.io/docs/concepts/components/prisma-client/generating-prisma-client
generator client {
provider = "prisma-client-js"
output = "../src/main/database/generated/client"
}
并包含在我的database.js
文件(位于database
文件夹)如下
import { PrismaClient } from './generated/client';
由于下载的二进制文件也放置在output
文件夹,prisma 客户端找到它没有问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)