Skip to content

Instantly share code, notes, and snippets.

@vinnymac
Created August 14, 2025 17:43
Show Gist options
  • Save vinnymac/0fd3ee4c9ed5655fbffd9e48c6c9a1fd to your computer and use it in GitHub Desktop.
Save vinnymac/0fd3ee4c9ed5655fbffd9e48c6c9a1fd to your computer and use it in GitHub Desktop.
Patch to workaround issue in the soft delete extension that prevents compatibility with newer versions of Prisma
diff --git a/dist/lib/helpers/createParams.js b/dist/lib/helpers/createParams.js
index d389df498fbac20e7e1d306d52d997339c83e656..66bba54e5424d7706b168a2c857ea987de3ac519 100644
--- a/dist/lib/helpers/createParams.js
+++ b/dist/lib/helpers/createParams.js
@@ -5,22 +5,29 @@ const client_1 = require("@prisma/client");
const nestedReads_1 = require("../utils/nestedReads");
const uniqueFieldsByModel = {};
const uniqueIndexFieldsByModel = {};
-client_1.Prisma.dmmf.datamodel.models.forEach((model) => {
- // add unique fields derived from indexes
- const uniqueIndexFields = [];
- model.uniqueFields.forEach((field) => {
- uniqueIndexFields.push(field.join("_"));
- });
- uniqueIndexFieldsByModel[model.name] = uniqueIndexFields;
- // add id field and unique fields from @unique decorator
- const uniqueFields = [];
- model.fields.forEach((field) => {
- if (field.isId || field.isUnique) {
- uniqueFields.push(field.name);
+// Fix for Prisma 6 compatibility - check if dmmf exists and has the expected structure
+if (client_1.Prisma.dmmf && client_1.Prisma.dmmf.datamodel && client_1.Prisma.dmmf.datamodel.models) {
+ client_1.Prisma.dmmf.datamodel.models.forEach((model) => {
+ // add unique fields derived from indexes
+ const uniqueIndexFields = [];
+ if (model.uniqueFields) {
+ model.uniqueFields.forEach((field) => {
+ uniqueIndexFields.push(field.join("_"));
+ });
+ }
+ uniqueIndexFieldsByModel[model.name] = uniqueIndexFields;
+ // add id field and unique fields from @unique decorator
+ const uniqueFields = [];
+ if (model.fields) {
+ model.fields.forEach((field) => {
+ if (field.isId || field.isUnique) {
+ uniqueFields.push(field.name);
+ }
+ });
}
+ uniqueFieldsByModel[model.name] = uniqueFields;
});
- uniqueFieldsByModel[model.name] = uniqueFields;
-});
+}
const createDeleteParams = ({ field, createValue }, params) => {
var _a, _b;
if (!params.model ||
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment