导入自定义枚举在生成的 Prisma 客户端中不起作用

问题描述 投票:0回答:1

我正在构建一个 Nuxt 应用程序并将其托管在 digitalOcean 上。

我使用 Prisma 作为 ORM。

我们有一个 Users 表,这个 User 可以有一个枚举类型的 Role

Roles
。但由于某种原因,我无法导入生成的 Nuxt
 中的 
Roles

类型
import { Roles, PrismaClient } from '@prisma/client';

语法错误:未找到命名导出“角色”。请求的模块“@prisma/client”是一个 CommonJS 模块,它可能不支持所有 module.exports 作为命名导出。 CommonJS 模块始终可以通过默认导出导入,例如使用:

import pkg from '@prisma/client';
const { Roles, PrismaClient } = pkg;

我无法以这种方式导入它,因为该文件是自动生成的。

它在本地运行良好,我尝试过以下操作:

  • 在 digitalOcean 应用程序中强制重建和部署
  • 将 prisma 客户端设置为不同的输出位置
  • 将棱镜从
    devDepenencies
    移动到
    dependencies
  • 节点版本比较
  • Prisma 版本比较
  • 确保跑步后立即跑步
    npx prisma generate
    npx prisma migrate deploy
    npm run build
  • 重置数据库

注意:在将

Roles
枚举添加到代码中之前,即使我已经运行了
npx prisma generate
adter
npm run build
:

,我在运行生产环境时总是遇到以下错误

@prisma/client 尚未初始化。请运行“prismagenerate”并尝试再次导入。

如有任何帮助,我们将不胜感激

nuxt.js digital-ocean prisma
1个回答
0
投票

我认为您在表中使用枚举,之后它将生成用于在 prisma 中导入,而不在 prisma 中的表中使用枚举,它无法生成以供使用

© www.soinside.com 2019 - 2024. All rights reserved.