Prisma 初始化与渐进式数据库建模
探索下一代 Node.js & TypeScript ORM 的起点。通过极简的初始化流程与强类型 Schema 定义,为后端服务构建稳健、类型安全且易于演进的数据访问层。
核心概念
Schema 声明式建模
schema.prisma 是 Prisma 的灵魂。通过直观的领域特定语言(DSL)定义数据源、生成器与数据模型,消除传统 SQL 或低效 ORM 繁琐的模型映射配置。
客户端自动生成
依托于 prisma generate 机制,根据 Schema 动态生成拥有完整 TypeScript 类型提示的 Client。每一次变更都是编译期安全的,杜绝运行时属性拼写错误。
prisma-init.ts
typescript
import { PrismaClient } from '@prisma/client';
// 采用单例模式防止在开发环境热重载(HMR)时建立过多重复连接
const globalForPrisma = globalThis as unknown as { prisma: PrismaClient };
export const prisma =
globalForPrisma.prisma ||
new PrismaClient({
log: process.env.NODE_ENV === 'development' ? ['query', 'error', 'warn'] : ['error'],
});
if (process.env.NODE_ENV !== 'production') globalForPrisma.prisma = prisma;
async function bootstrap() {
try {
// 验证连接并测试底层查询
await prisma.$connect();
console.info('Prisma 引擎初始化成功,数据库连接已建立');
} catch (error) {
console.error('Prisma 初始化连接失败:', error);
process.exit(1);
}
}
bootstrap();相关笔记
在数字化一期,此笔记未产生更深相关的共鸣分枝。