如何解决下一个 jsprisma 在 vercel 部署中未定义
所以...我在 Next js 中有一个使用 Prisma Client 的 api。 Prisma 是从prisma.ts 中定义的全局对象导入的
在本地,一切都可以正常构建和运行。我没有收到任何错误,并且定义了棱镜变量。 然而,当它在 Vercel 中部署时,prisma 是未定义的......我不知道为什么。
如果有人有任何建议,我将不胜感激。
import eBayApi from "@hendt/ebay-api";
import prisma from "../../lib/prisma";
const eBay = new eBayApi({});
export default async (req,res) => {
// Access the provided 'page' and 'limt' query parameters
const code = req.query.code; // this is provided from eBay
console.log(code);
try {
//const token = await eBay.OAuth2.getToken(code);
const token = "bob";
console.log("Prisma handler instance",prisma);
const env_variable = await prisma.variable.upsert({
where: {
variable: "EBAY_TOKEN",},update: { value: token },create: {
variable: "EBAY_TOKEN",value: token,});
if (env_variable) {
console.log("New Token Stored in DB");
} else console.log("Failed to store new Token");
res.status(200);
res.writeHead(302,{
Location: "/orders",//add other headers here...
});
res.end();
} catch (e) {
console.error(e);
res.status(400).end();
}
res.writeHead(302,{
Location: "/orders",//add other headers here...
});
res.end();
};
2021-04-18T19:06:18.680Z 869eb228-423a-4d6a-b05a-f95f5e843c88 错误类型错误: 无法读取未定义的属性“upsert” 在exports.modules.5712.webpack_exports.default (/var/task/nextjs-store/.next/server/pages/api/success.js:55:126) 在 processTicksAndRejections (internal/process/task_queues.js:93:5) 在异步 apiResolver (/var/task/nextjs-store/node_modules/next/dist/next-server/server/api-utils.js:8:1) 在异步 Server.handleApiRequest (/var/task/nextjs-store/node_modules/next/dist/next-server/server/next-server.js:67:462) 在 async Object.fn (/var/task/nextjs-store/node_modules/next/dist/next-server/server/next-server.js:59:492) 在异步 Router.execute (/var/task/nextjs-store/node_modules/next/dist/next-server/server/router.js:25:67) 在异步 Server.run (/var/task/nextjs-store/node_modules/next/dist/next-server/server/next-server.js:69:1042) 在异步 Server.handleRequest (/var/task/nextjs-store/node_modules/next/dist/next-server/server/next-server.js:34:504) 在异步服务器上。 (/var/task/nextjs-store/___next_launcher.js:26:9)
解决方法
所以,我玩了一下,觉得我发现了问题。我的 Prisma 表字段是 VARCHAR(字符串),但是我无意中尝试使用 JSON 对象存储 upsert。 现在我已更改为 JSON 字段,它可以正常工作了。
所以我想唯一的问题是错误可能没有帮助? 虽然都是我愚蠢的错。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。