TTeamDesk 学习手册

src/server/db.ts

此代码来自构建时的仓库快照。修改源码后重新构建即可更新。

ts
import 'server-only';
import { PrismaPg } from '@prisma/adapter-pg';
import { PrismaClient } from '@/generated/prisma/client';

const globalForPrisma = globalThis as unknown as { prisma?: PrismaClient };

export function getDb() {
  if (globalForPrisma.prisma) return globalForPrisma.prisma;
  const connectionString = process.env.DATABASE_URL;
  if (!connectionString) throw new Error('请配置 DATABASE_URL');
  // Prisma 类似带类型的数据库访问层;连接池复用连接,避免每次请求都建立新连接。
  // 开发热更新会重新加载模块,因此将实例放在服务端全局,防止连接越积越多。
  const db = new PrismaClient({
    adapter: new PrismaPg({
      connectionString,
      connectionTimeoutMillis: 5000,
      max: 5,
    }),
  });
  globalForPrisma.prisma = db;
  return db;
}

搜索教程

输入关键词,搜索全部章节。

阅读设置

外观
正文字号

从一张工单出发,读懂数据如何流转。

设置与进度仅保存在当前浏览器。