Я запускаю приложение NextJS (TypeScript) с Prisma на Netlify. Недавно я добавил новую модель под названием Trade. Вот файл схемы Prisma:
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Contract {
id Int @id @default(autoincrement())
contractAddress String @unique
baseUri String
tokenName String @default("")
verified Boolean @default(false)
}
model Trade {
id Int @id @default(autoincrement())
tradeId Int @unique
status Int
}
Я сгенерировал файл миграции и запустил миграцию как в локальной, так и в рабочей среде и убедился, что новая таблица присутствует в обеих базах данных.
Все работает нормально локально, но когда я пытаюсь выполнить развертывание в Netlify, я получаю эту ошибку в журнале сборки Netlify:
Type error: Property 'trade' does not exist on type 'PrismaClient<PrismaClientOptions, never, RejectOnNotFound | RejectPerOperation | undefined>'.
12:37:51 PM: 10 | return res.status(400).send({ message: "No trade ID provided" })
12:37:51 PM: 11 | try {
12:37:51 PM: > 12 | const tradeInDatabase = await prisma.trade.findFirst({
Плагин prisma добавлен на сайт и все работало с другими моделями, пока я не добавил эту новую модель. Пытаюсь выяснить, почему клиент Prisma не знает о новой модели в производстве.
Любая помощь приветствуется!
Я смог решить эту проблему, обновив скрипт сборки в package.json.
"scripts": {
"dev": "next dev",
"build": "prisma generate && next build",
"start": "next start",
"lint": "next lint"
},
Это запускает команду prisma generate в производственной среде и создает новый клиент prisma.