名称: database-orm 描述: 使用 Drizzle ORM 与 NeonDB Postgres 进行交互。
数据库逻辑
技术栈
- 数据库: Neon (Serverless Postgres)
- ORM: Drizzle ORM
- 驱动:
@neondatabase/serverless
连接
数据库连接在 db/index.ts 中初始化。
import { neon } from '@neondatabase/serverless';
import { drizzle } from 'drizzle-orm/neon-http';
const sql = neon(process.env.DATABASE_URL!);
export const db = drizzle(sql);
模式
模式定义位于 db/schema.ts。
users,sessions,accounts,verifications: 认证相关表。analyses,chatbot_history: 应用特定的表。
操作
数据库查询示例:
import { db } from "@/db";
import { users } from "@/db/schema";
import { eq } from "drizzle-orm";
// 查询
const user = await db.select().from(users).where(eq(users.email, "test@example.com"));
// 插入
await db.insert(users).values({ ... });
迁移
- 生成:
npx drizzle-kit generate - 推送:
npx drizzle-kit push(或迁移脚本)