返回 presentation-ai
db.ts
根目录 / src / server / db.ts
1 import { PrismaNeon } from "@prisma/adapter-neon";
2 import { PrismaPg } from "@prisma/adapter-pg";
3
4 import { env } from "@/env";
5 import { PrismaClient } from "@/prisma/client";
6
7 const createPrismaClient = () =>
8 new PrismaClient({
9 adapter:
10 env.NODE_ENV === "production" && !process.env.LOCAL_PRODUCTION
11 ? new PrismaNeon({ connectionString: env.DATABASE_URL })
12 : new PrismaPg({ connectionString: env.DATABASE_URL }),
13 log: env.NODE_ENV === "development" ? ["warn", "error"] : ["error"],
14 });
15
16 const globalForPrisma = globalThis as unknown as {
17 prisma: ReturnType<typeof createPrismaClient> | undefined;
18 };
19
20 export const db = globalForPrisma.prisma ?? createPrismaClient();
21
22 if (env.NODE_ENV !== "production") globalForPrisma.prisma = db;
23
23 lines TYPESCRIPT