使用Prisma+Next.js+Supabase时EventChart.åå列不存在错误求助
问题:Prisma查询时提示
EventChart.åå列不存在,但未使用该特殊字符字段 问题背景
使用Prisma + Next.js + Supabase构建仪表盘应用,调用GET接口时触发Prisma错误,提示不存在EventChart.åå列,但代码和Schema中从未定义过该字段。
错误详情
PrismaClientKnownRequestError: Invalid `prisma.eventChart.findMany()` invocation: The column `EventChart.åå` does not exist in the current database. at ai.handleRequestError (/Users/name/Desktop/unien-dashboard-app/unien-dashboard/dashboard/node_modules/@prisma/client/runtime/library.js:126:6775) at ai.handleAndLogRequestError (/Users/name/Desktop/unien-dashboard-app/unien-dashboard/dashboard/node_modules/@prisma/client/runtime/library.js:126:6109) at ai.request (/Users/name/Desktop/unien-dashboard-app/unien-dashboard/dashboard/node_modules/@prisma/client/runtime/library.js:126:5817) at async l (/Users/name/Desktop/unien-dashboard-app/unien-dashboard/dashboard/node_modules/@prisma/client/runtime/library.js:131:9709) at async GET (webpack-internal:///(rsc)/./app/api/eventChart/route.ts:18:27) at async /Users/name/Desktop/unien-dashboard-app/unien-dashboard/dashboard/node_modules/next/dist/compiled/next-server/app-route.runtime.dev.js:6:63251 { code: 'P2022', clientVersion: '5.9.1', meta: { modelName: 'EventChart', column: 'EventChart.å\x8F\x82å\x8A' } }
相关代码
route.ts(API路由)
import { NextResponse } from "next/server" import { main } from "../route" import { PrismaClient } from "@prisma/client" const prisma = new PrismaClient export const GET = async (req: Request, res: NextResponse ) => { try { await main() const eventData = await prisma.eventChart.findMany({ select: { date: true, userId: true, actual: true, expected: true, } }) return NextResponse.json({ message: "Success", eventData }, {status: 200}) } catch (err) { console.error('Error in GET method:', err); return NextResponse.json({ message: "Error", err }, {status: 500}) } finally { await prisma.$disconnect() } }
schema.prisma
// This is your Prisma schema file, // learn more about it in the docs: https://pris.ly/d/prisma-schema generator client { provider = "prisma-client-js" } datasource db { provider = "postgresql" url = env("DATABASE_URL") directUrl = env("DIRECT_DATABASE_URL") } model User { id Int @id @default(autoincrement()) username String @unique password String email String fees Fee? eventChart EventChart[] eventAreaChart EventAreaChart[] memberChart MemberChart[] task Task[] event Event[] } model Fee { id Int @id @default(autoincrement()) userId Int @unique inputFee Int inputPeople Int feeResult Int user User @relation(fields: [userId], references: [id]) } model EventChart { id Int @id @default(autoincrement()) userId Int date String expected Int actual Int user User @relation(fields: [userId], references: [id]) } model MemberChart { id Int @id @default(autoincrement()) userId Int year Int member Int user User @relation(fields: [userId], references: [id]) } model Task { id Int @id @default(autoincrement()) userId Int date String description String check Boolean user User @relation(fields: [userId], references: [id]) } model Event { id Int @id @default(autoincrement()) userId Int date String title String description String people String fee String place String user User @relation(fields: [userId], references: [id]) }
前端数据获取代码
"use client" import { useState, useEffect } from 'react'; import EventEditBtn from './EventEditBtn'; async function fetchEventData() { try { const res = await fetch(`http://localhost:3001/api/eventChart`, { cache: "no-store" }) const data = await res.json() console.log(data) return data.eventData } catch (err) { console.error('Error fetching data:', err); } } const EventAreaChart = () => { interface eventDataType { id: number, userId: number, date: string expected: number actual: number } useEffect(() => { const fetchData = async () => { try { const data = await fetchEventData() setEventData(data) console.log(data) } catch (error) { console.error(error) } } fetchData() }, []) return ( <div className=""> </div> ) } export default EventAreaChart
已尝试的解决方法
- 注释掉
actual和expected字段后,GET接口可正常工作 - 按照Prisma文档重命名这两个字段,此前MemberChart模型出现相同错误时该方法有效,但此次无效
内容的提问来源于stack exchange,提问作者Kohki Umetsu
相关产品推荐
相关产品推荐

