Next.js 14 app router로 사내 상품관리 페이지 만들고 있습니다. 관리자 화면에서 가격 수정하면 DB(postgres + prisma)에는 바로 들어가는데 /products 페이지는 계속 예전 가격이 나옵니다.
로컬에서 npm run dev 로 할땐 잘 되요. 서버에서 next build 하고 pm2로 next start 띄우면 이럽니다. 브라우저 캐시 지우고 시크릿창으로 봐도 똑같고 pm2 restart 해도 그대로고.. 다시 빌드하면 그때서야 바뀝니다
// app/products/page.tsx
import { prisma } from '@/lib/prisma'
import ProductTable from './ProductTable'
export default async function ProductsPage() {
const products = await prisma.product.findMany({ orderBy: { id: 'asc' } })
return <ProductTable products={products} />
}수정은 app/api/products/[id]/route.ts 에서 PATCH로 prisma.product.update 하고 있습니다. 혹시 몰라서 빌드 로그도 붙여요
▲ Next.js 14.2.15
Creating an optimized production build ...
✓ Compiled successfully
✓ Linting and checking validity of types
✓ Collecting page data
✓ Generating static pages (7/7)
✓ Collecting build traces
✓ Finalizing page optimization
Route (app) Size First Load JS
┌ ○ / 176 B 94.1 kB
├ ○ /_not-found 873 B 88.1 kB
├ ○ /admin/products 3.02 kB 105 kB
├ ƒ /api/products/[id] 0 B 0 B
└ ○ /products 2.41 kB 104 kB
+ First Load JS shared by all 87.2 kB
○ (Static) prerendered as static content
ƒ (Dynamic) server-rendered on demandfetch 쓰면 cache: 'no-store' 주라는 글은 봤는데 저는 fetch를 안쓰고 prisma로 바로 가져오는거라 어디다 설정해야 되는지 모르겠어요. 오전 내내 이것만 보고 있네요
댓글 0