Prisma+PostgreSQL+Next.js创建用户时遇Unknown argument 'username'错误
问题分析与解决
核心问题是你的schema.prisma文件存在语法错误:User模型定义缺少闭合的大括号,导致Prisma无法正确解析username字段,生成的Prisma Client自然不支持该参数,进而触发PrismaClientValidationError。
修复步骤
1. 修正schema.prisma的语法错误
找到User模型的定义,在joinedQuestions字段后补上闭合大括号},修复后的完整User模型如下:
model User { email String @unique firstName String? lastName String? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt clerkUserId String @unique id Int @id @default(autoincrement()) username String @unique createdQuestions Question[] joinedQuestions Question[] @relation("Participants") } // 补上这行闭合大括号
2. 重新生成Prisma Client并同步数据库
执行以下命令:
# 重新生成Prisma Client,确保新字段被识别 prisma generate # 生成迁移并同步到数据库(如果username字段尚未在数据库中创建) prisma migrate dev
3. 重启Next.js开发服务器
Next.js可能会缓存旧的Prisma Client实例,重启服务器确保加载最新的Client代码。
完成以上步骤后,再次调用创建用户的函数,username参数就能被正确识别,错误应该会消失。
内容的提问来源于stack exchange,提问作者Amit Bouenos
相关产品推荐
相关产品推荐

