数据库ORM集成 database-orm

该技能描述了如何使用Drizzle ORM与NeonDB(无服务器PostgreSQL)进行交互,包括建立连接、定义数据模式、执行增删改查操作以及管理数据库迁移。关键词:Drizzle ORM, NeonDB, PostgreSQL, 数据库连接, 数据模式, 数据库迁移, 无服务器数据库。

后端开发 0 次安装 0 次浏览 更新于 3/1/2026

名称: 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 (或迁移脚本)