Vercel 缓存会导致问题吗?
Is Vercel Caching causing issues?
对于我的项目,我使用 prisma/supabase 和下一个 js,然后托管在 vercel 上。我对 github 所做的任何更改都会自动在 Vercel 上生成新的开发部署。尽管我的项目在本地运行良好,但我最近的一代导致了一个错误,我只能认为与 vercels 缓存有关。
在项目进行到一半时,我向我的模式添加了一个新字段 'slug' 并使用所述 slug 填充了我现有的表。然后我在生成 getStaticProps 时使用了 slug。
在本地一切正常,但是当我在 vercel 上生成新部署时,出现以下错误:
Error: Unknown arg `slug` in where.comp.slug for type CompRelationFilter. Did you mean `is`?
Unknown field `slug` for select statement on model Comp. Did you mean `cID`?
at Object.validate (/vercel/path0/node_modules/@prisma/client/runtime/index.js:34758:20)
at PrismaClient._executeRequest (/vercel/path0/node_modules/@prisma/client/runtime/index.js:39752:17)
at consumer (/vercel/path0/node_modules/@prisma/client/runtime/index.js:39693:23)
at /vercel/path0/node_modules/@prisma/client/runtime/index.js:39697:49
at AsyncResource.runInAsyncScope (async_hooks.js:197:9)
at PrismaClient._request (/vercel/path0/node_modules/@prisma/client/runtime/index.js:39697:27)
at request (/vercel/path0/node_modules/@prisma/client/runtime/index.js:39802:77)
at _callback (/vercel/path0/node_modules/@prisma/client/runtime/index.js:40010:14)
at PrismaPromise.then (/vercel/path0/node_modules/@prisma/client/runtime/index.js:40017:23)
我创建了一个新的迁移,将它同步到我的数据库,直接在 prisma studio 和数据库上确认了它。所以我唯一的猜测是它与 vercel 的缓存有关,他们是否将我的数据库缓存在某处或节点模块中的某处导致此错误?
这是我的检索代码,适用于其他页面:
const data = await prisma.event.findMany({
where: {
sTime: {
gte: numericToDate(numericDate(today), [0,0]), //provided date from 0 hours
},
comp: {
slug: compPre
}},
orderBy: {
sTime: 'asc',
},
include: {
Eventor: {
select: {
title: true,
type:true,
eID: true,
imgUrl: true
}, // Return all fields
},
ch: {
select: {
title: true,
chID: true,
imgUrl: true
}, // Return all fields
},
sport: {
select: {
title: true,
sID: true
}, // Return all fields
},
comp: {
select: {
title: true,
slug: true,
cID: true,
imgUrl:true
}, // Return all fields
}},
})
感谢您的帮助
通过包含以下内容修复了它:
"vercel-build": "prisma generate && prisma migrate deploy && next build",
在 package.json
的脚本中
对于我的项目,我使用 prisma/supabase 和下一个 js,然后托管在 vercel 上。我对 github 所做的任何更改都会自动在 Vercel 上生成新的开发部署。尽管我的项目在本地运行良好,但我最近的一代导致了一个错误,我只能认为与 vercels 缓存有关。
在项目进行到一半时,我向我的模式添加了一个新字段 'slug' 并使用所述 slug 填充了我现有的表。然后我在生成 getStaticProps 时使用了 slug。
在本地一切正常,但是当我在 vercel 上生成新部署时,出现以下错误:
Error: Unknown arg `slug` in where.comp.slug for type CompRelationFilter. Did you mean `is`?
Unknown field `slug` for select statement on model Comp. Did you mean `cID`?
at Object.validate (/vercel/path0/node_modules/@prisma/client/runtime/index.js:34758:20)
at PrismaClient._executeRequest (/vercel/path0/node_modules/@prisma/client/runtime/index.js:39752:17)
at consumer (/vercel/path0/node_modules/@prisma/client/runtime/index.js:39693:23)
at /vercel/path0/node_modules/@prisma/client/runtime/index.js:39697:49
at AsyncResource.runInAsyncScope (async_hooks.js:197:9)
at PrismaClient._request (/vercel/path0/node_modules/@prisma/client/runtime/index.js:39697:27)
at request (/vercel/path0/node_modules/@prisma/client/runtime/index.js:39802:77)
at _callback (/vercel/path0/node_modules/@prisma/client/runtime/index.js:40010:14)
at PrismaPromise.then (/vercel/path0/node_modules/@prisma/client/runtime/index.js:40017:23)
我创建了一个新的迁移,将它同步到我的数据库,直接在 prisma studio 和数据库上确认了它。所以我唯一的猜测是它与 vercel 的缓存有关,他们是否将我的数据库缓存在某处或节点模块中的某处导致此错误?
这是我的检索代码,适用于其他页面:
const data = await prisma.event.findMany({
where: {
sTime: {
gte: numericToDate(numericDate(today), [0,0]), //provided date from 0 hours
},
comp: {
slug: compPre
}},
orderBy: {
sTime: 'asc',
},
include: {
Eventor: {
select: {
title: true,
type:true,
eID: true,
imgUrl: true
}, // Return all fields
},
ch: {
select: {
title: true,
chID: true,
imgUrl: true
}, // Return all fields
},
sport: {
select: {
title: true,
sID: true
}, // Return all fields
},
comp: {
select: {
title: true,
slug: true,
cID: true,
imgUrl:true
}, // Return all fields
}},
})
感谢您的帮助
通过包含以下内容修复了它:
"vercel-build": "prisma generate && prisma migrate deploy && next build",
在 package.json
的脚本中