Database & ORM

Interaction with NeonDB Postgres using Drizzle ORM.

$ 安裝

git clone https://github.com/AbdulSamad94/Hackhaton-SpecsKitPlus /tmp/Hackhaton-SpecsKitPlus && cp -r /tmp/Hackhaton-SpecsKitPlus/.claude/skills/database ~/.claude/skills/Hackhaton-SpecsKitPlus

// tip: Run this command in your terminal to install the skill


name: Database & ORM description: Interaction with NeonDB Postgres using Drizzle ORM.

Database Logic

Stack

  • Database: Neon (Serverless Postgres)
  • ORM: Drizzle ORM
  • Driver: @neondatabase/serverless

Connection

The database connection is initialized in 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);

Schema

Schema definitions are in db/schema.ts.

  • users, sessions, accounts, verifications: Auth tables.
  • analyses, chatbot_history: App specific tables.

Operations

Example of a database query:

import { db } from "@/db";
import { users } from "@/db/schema";
import { eq } from "drizzle-orm";

// Select
const user = await db.select().from(users).where(eq(users.email, "test@example.com"));

// Insert
await db.insert(users).values({ ... });

Migrations

  • Generate: npx drizzle-kit generate
  • Push: npx drizzle-kit push (or migrate script)