簡體   English   中英

在vercel部署中下一個js prisma未定義

[英]next js prisma undefined when in vercel deployment

所以......我在使用 Prisma 客戶端的 Next js 中有一個 api。 Prisma 是從 prisma.ts 中定義的全局 object 導入的

在本地,一切都構建並運行良好。 我沒有收到任何錯誤,並且定義了 prisma 變量。 但是,當它部署在 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 錯誤類型錯誤:無法讀取 export.modules.5712 中未定義的屬性“upsert”。 webpack_exports .default (/var/task/nextjs-store/.next/server/pages/api/success.js:55:126) 位於異步 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) 在異步 Object.fn (/var/task/nextjs-store/node_modules/next/dist/next-server/server/next-server.js: 59:492) 在異步 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)

所以,我玩了一下,認為我找到了問題所在。 我的棱鏡表字段是一個 VARCHAR(字符串),但是我無意中嘗試使用 JSON object 存儲 upsert。 現在我已更改為 JSON 字段,它正在工作。

所以我想唯一的問題是錯誤可能沒有幫助? 雖然這都是我愚蠢的錯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM