mirror of
https://github.com/ArthurDanjou/website.git
synced 2026-01-14 12:14:42 +01:00
add cache to prisma
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
"dev": "nuxt dev --host",
|
||||
"generate": "nuxt generate",
|
||||
"preview": "nuxt preview",
|
||||
"postinstall": "prisma generate && nuxt prepare",
|
||||
"postinstall": "prisma generate --no-engine && nuxt prepare",
|
||||
"lint": "eslint .",
|
||||
"lint:fix": "eslint . --fix"
|
||||
},
|
||||
@@ -16,7 +16,8 @@
|
||||
"@nuxt/image": "1.1.0",
|
||||
"@nuxt/ui": "2.11.1",
|
||||
"@pinia/nuxt": "0.5.1",
|
||||
"@prisma/client": "5.7.0",
|
||||
"@prisma/client": "^5.7.0",
|
||||
"@prisma/extension-accelerate": "^0.6.2",
|
||||
"@vercel/analytics": "1.1.1",
|
||||
"@vueuse/motion": "2.0.0",
|
||||
"pinia": "2.1.7",
|
||||
|
||||
@@ -4,7 +4,8 @@ generator client {
|
||||
|
||||
datasource db {
|
||||
provider = "mysql"
|
||||
url = env("PRISMA_URL")
|
||||
url = env("DATABASE_URL")
|
||||
directUrl = env("DIRECTE_DATABASE_URL")
|
||||
relationMode = "prisma"
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
export default defineEventHandler(async () => {
|
||||
return await usePrisma().announcement.findFirst({
|
||||
orderBy: {
|
||||
ororderBy: {
|
||||
createdAt: 'desc',
|
||||
},
|
||||
})
|
||||
|
||||
@@ -5,6 +5,9 @@ const PostSchema = z.object({ slug: z.string() }).parse
|
||||
export default defineEventHandler(async (event) => {
|
||||
const { slug } = await readValidatedBody(event, PostSchema)
|
||||
return await usePrisma().post.upsert({
|
||||
cacheStrategy: {
|
||||
swr: 60 * 5,
|
||||
},
|
||||
where: {
|
||||
slug,
|
||||
},
|
||||
|
||||
@@ -26,6 +26,9 @@ export default defineEventHandler(async (event) => {
|
||||
}
|
||||
|
||||
return await prisma.bookmark.findMany({
|
||||
cacheStrategy: {
|
||||
ttl: 60 * 3,
|
||||
},
|
||||
where: whereClause,
|
||||
orderBy: {
|
||||
name: 'asc',
|
||||
|
||||
@@ -3,6 +3,9 @@ import type { CategoryType } from '@prisma/client'
|
||||
export default defineEventHandler(async (event) => {
|
||||
const { type } = getQuery<{ type: CategoryType }>(event)
|
||||
return await usePrisma().category.findMany({
|
||||
cacheStrategy: {
|
||||
ttl: 60 * 3,
|
||||
},
|
||||
where: {
|
||||
type,
|
||||
},
|
||||
|
||||
@@ -3,6 +3,9 @@ export default defineEventHandler(async () => {
|
||||
orderBy: {
|
||||
createdAt: 'desc',
|
||||
},
|
||||
cacheStrategy: {
|
||||
ttl: 60 * 60 * 24,
|
||||
},
|
||||
})
|
||||
let enabled = true
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
export default defineEventHandler(async () => {
|
||||
return await usePrisma().guestbookMessage.findMany({
|
||||
cacheStrategy: {
|
||||
ttl: 60 * 60,
|
||||
swr: 60 * 5,
|
||||
},
|
||||
orderBy: {
|
||||
updatedAt: 'desc',
|
||||
},
|
||||
|
||||
@@ -26,6 +26,9 @@ export default defineEventHandler(async (event) => {
|
||||
}
|
||||
|
||||
return await prisma.talent.findMany({
|
||||
cacheStrategy: {
|
||||
ttl: 60 * 3,
|
||||
},
|
||||
where: whereClause,
|
||||
orderBy: {
|
||||
name: 'asc',
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
import { PrismaClient } from '@prisma/client'
|
||||
import { PrismaClient } from '@prisma/client/edge'
|
||||
import { PrismaClientExtends } from '@prisma/client/scripts/default-index'
|
||||
import { withAccelerate } from '@prisma/extension-accelerate'
|
||||
|
||||
let prisma: PrismaClient | undefined
|
||||
let prisma: any
|
||||
|
||||
export function usePrisma() {
|
||||
if (!prisma) {
|
||||
prisma = new PrismaClient({
|
||||
log: ['warn', 'info', 'error'],
|
||||
})
|
||||
}).$extends(withAccelerate())
|
||||
}
|
||||
|
||||
return prisma
|
||||
|
||||
@@ -1822,7 +1822,7 @@
|
||||
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
|
||||
integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==
|
||||
|
||||
"@prisma/client@5.7.0":
|
||||
"@prisma/client@^5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/client/-/client-5.7.0.tgz#c29dd9a16e100902eb2d2443d90fee2482d2aeac"
|
||||
integrity sha512-cZmglCrfNbYpzUtz7HscVHl38e9CrUs31nrVoGUK1nIPXGgt8hT4jj2s657UXcNdQ/jBUxDgGmHyu2Nyrq1txg==
|
||||
@@ -1847,6 +1847,11 @@
|
||||
"@prisma/fetch-engine" "5.7.0"
|
||||
"@prisma/get-platform" "5.7.0"
|
||||
|
||||
"@prisma/extension-accelerate@^0.6.2":
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/extension-accelerate/-/extension-accelerate-0.6.2.tgz#31e0fabb0b0dc318dca9b4087e89bf07219a4866"
|
||||
integrity sha512-KIBVPeWt8qaSg7wQ+TXmCVeUDoW75whtXcdS9dbHxRoO2OWFH5I9+qbkHBhx5Wj/h1wQpS8usuxGnsZqiBjUpQ==
|
||||
|
||||
"@prisma/fetch-engine@5.7.0":
|
||||
version "5.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@prisma/fetch-engine/-/fetch-engine-5.7.0.tgz#7d2795828b692b02707e7ab6876f6227a68fc309"
|
||||
|
||||
Reference in New Issue
Block a user