v0r*_*t3x 8 sqlite angularjs typescript electron prisma
我正在使用 Prisma (sqlite DB) 和 Electron + Angular 应用程序
一切正常,直到我尝试创建记录
这是我的 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"]
}
Run Code Online (Sandbox Code Playgroud)
我尝试过在临时 TS 项目中使用相同的 Prisma 配置,效果很好
当我用电子尝试时,我遇到了错误
据我了解,它找不到查询引擎二进制文件,但我不知道如何对 Electron 说从哪里获取它们
小智 7
我对 prisma 也有类似的问题。
问题是自定义 prisma 客户端以及下载的适用平台的二进制文件在node_modules/.prisma文件夹中生成(默认)。
当 webpack 捆绑代码时,.prisma文件夹未包含在node_modules文件夹中生成的 app.asar 包中,因此 prisma 客户端无法与二进制文件一起加载。
我根据prisma 文档更改了生成的 prisma 客户端的输出路径
generator client {
provider = "prisma-client-js"
output = "../src/main/database/generated/client"
}
Run Code Online (Sandbox Code Playgroud)
并包含在我的database.js文件(位于database文件夹内)中,如下所示
import { PrismaClient } from './generated/client';
Run Code Online (Sandbox Code Playgroud)
由于下载的二进制文件也放置在该output文件夹内,因此 prisma 客户端找到它没有问题。
| 归档时间: |
|
| 查看次数: |
5364 次 |
| 最近记录: |