prisma: After upgrade to version newer than 4.7.0: `TypeError: this.engine.dmmf is not a function` (workaround inside)
Bug description
2022-12-30T13:49:57.334Z f7b358d7-cebe-4cd0-9dfa-9963d44d58fd ERROR TypeError: this.engine.dmmf is not a function at LibraryEngine.getDmmf (/opt/nodejs/node_modules/@prisma/client/runtime/index.js:27892:41) at async /opt/nodejs/node_modules/@prisma/client/runtime/index.js:35539:24 { clientVersion: '4.6.1' }
when running prisma client operations in AWS Lambda
How to reproduce
It began with schema adjustment which renamed 1 table (droped and craeted) and its index name changein relations…
Expected behavior
No response
Prisma information
generator client {
provider = "prisma-client-js"
binaryTargets = ["native", "rhel-openssl-1.0.x"]
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Brand {
brand_id Int @id @default(autoincrement())
brand_name String @db.VarChar(255)
corporation String? @db.VarChar(255)
sectors Sector[]
markets Market[]
search_stims SearchStim[]
trend_mentions MarketTrend[]
brand_market_share BrandMarketShare[]
}
model Market {
market_id Int @id @default(autoincrement())
market_name String @db.VarChar(255)
market_code String @db.VarChar(255)
brands Brand[]
trends Trend[]
market_trend MarketTrend[]
brand_market_share BrandMarketShare[]
related_queries RelatedQuery[]
BrandSearchTerm BrandSearchTerm[]
generic_term GenericTerm[]
}
model Trend {
date DateTime @db.Date
trend Float
search_stim SearchStim @relation(fields: [search_stim_id], references: [search_stim_id])
search_stim_id Int
market Market @relation(fields: [market_id], references: [market_id])
market_id Int
@@id([date, search_stim_id, market_id])
}
model Sector {
sector_id Int @id @default(autoincrement())
sector_name String @unique
brands Brand[]
brand_market_share BrandMarketShare[]
generic_term GenericTerm[]
}
model SearchStim {
search_stim_id Int @id @default(autoincrement())
search_stim String @unique
type String
brand Brand @relation(fields: [brand_id], references: [brand_id])
brand_id Int
description String?
trend Trend[]
related_queries RelatedQuery[]
BrandSearchTerm BrandSearchTerm[]
averageTrendValue Float?
}
model MarketTrend {
market_trend_id Int @id @default(autoincrement())
market Market @relation(fields: [market_id], references: [market_id])
market_id Int
title String
traffic Int
date DateTime?
content String
associated_brands Brand[]
source Source? @relation(fields: [source_id], references: [source_id])
source_id Int?
url String?
}
model Source {
source_id Int @id @default(autoincrement())
source String
trend MarketTrend[]
}
model BrandMarketShare {
BrandMarketShare Int @id @default(autoincrement())
date DateTime?
brand Brand @relation(fields: [brand_id], references: [brand_id])
brand_id Int
market Market @relation(fields: [market_id], references: [market_id])
market_id Int
sector Sector @relation(fields: [sector_id], references: [sector_id])
sector_id Int
share Float
is_term Boolean @default(false)
}
model RelatedQuery {
type String
query String
value Int
market Market @relation(fields: [market_id], references: [market_id])
market_id Int
search_stim SearchStim @relation(fields: [search_stim_id], references: [search_stim_id])
search_stim_id Int
BrandSearchTerm BrandSearchTerm[]
@@id([type, query, market_id, search_stim_id])
}
model BrandSearchTerm {
competitiveness Int
market_association Float
brand_association Int
category Category @relation(fields: [category_id], references: [category_id])
category_id Int
related_query RelatedQuery? @relation(fields: [type, query, market_id, search_stim_id], references: [type, query, market_id, search_stim_id])
type String
query String
market Market @relation(fields: [market_id], references: [market_id])
market_id Int
search_stim SearchStim @relation(fields: [search_stim_id], references: [search_stim_id])
search_stim_id Int
@@id([type, query, market_id, search_stim_id])
}
model Category {
category_id Int @id @default(autoincrement())
category_name String
brand_search_term BrandSearchTerm[]
}
model GenericTerm {
generic_term_id Int @id @default(autoincrement())
sector Sector @relation(fields: [sector_id], references: [sector_id])
sector_id Int
market Market @relation(fields: [market_id], references: [market_id])
market_id Int
type String
generic_term String
}
Environment & setup
AWS Lambda
- Database: PostgreSQL
- Node.js version: 16
Prisma Version
clientVersion: '4.6.1'
About this issue
- Original URL
- State: open
- Created 2 years ago
- Reactions: 3
- Comments: 15 (2 by maintainers)
I deleted node_modules and upgraded prisma to 4.8 and it worked.
In my case, I deleted node_modules and yarn.lock, reinstalled packages, then all started to work again. @ernstoarllano maybe this can be helpful to you as well.
Deleting
node_modulesand reinstalling did the trick. 🚀🚀 I fixed it as said above: I deleted
node_modulesfolder and updatedPrismapackage to version “^4.9.0”.