Mar*_*itt 1 mysql node.js express econnrefused prisma
我有一个 Prisma 客户端连接到 Express 服务器内的本地 MySQL 数据库。服务器和数据库一开始工作正常,输入也正确。但:
运行npx prisma migrate dev
或后npx prisma generate
,不再起作用。
connect ECONNREFUSED ::1:50898
执行任何请求时它总是抛出
这种工作的唯一解决方法是再次创建相同的确切模式,但在另一个节点项目上,执行prisma generate
然后将生成的“.prisma”文件夹复制到我的node_modules内。
该错误出现在我的本地主机 MySQL 数据库上,而且在连接到 PrismaCloud Postgres 数据库时也会出现。
这对我来说真的很烦人,因为我真的很喜欢 Prisma,但由于这个问题,我无法真正有效地使用它。
我正在为我的服务器使用全局 prisma 客户端,如下所示:
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
export default prisma;
Run Code Online (Sandbox Code Playgroud)
我的 ./prisma/schema.prisma 下的架构如下所示:
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
email String @unique
password String
}
Run Code Online (Sandbox Code Playgroud)
我的 DATABASE_URL 如下所示:DATABASE_URL="mysql://root:password@127.0.0.1:3306/merkurier?schema=public"
失败查询的示例如下所示:
const user = await prisma.user.findFirst({
where: {
email,
},
});
Run Code Online (Sandbox Code Playgroud)
我使用的是 M1 mac,没有使用 docker(也许我应该使用 Docker)
Prisma 在新的 M1 芯片上本机运行,无需配置任何内容,但我遇到了同样的问题,Prisma error: connect ECONNREFUSED ::1:50269
我意识到这个问题可能有不同的原因,例如您的计算机上不支持 NodeJS 引擎、3.x 下的 Prisma 或无法访问查询引擎你的主机
就我而言,手动安装最新的 Prisma 后问题得到解决。
要安装最新的 Prisma,请执行以下命令:
npm i --save-dev prisma@latest
npm i @prisma/client@latest
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1964 次 |
最近记录: |