View as Json

PostgreSQL(Drizzle & Neon) Provider

This provider sets up PostgreSQL + Neon connectivity with Drizzle ORM for nextjs projects.

Official Docs


Installation Guide

Run the following command:

npx servercn-cli@latest add pr pg-drizzle-neon

Add the following scripts to your package.json:

package.json
{
  "scripts": {
    "db:generate": "drizzle-kit generate",
    "db:migrate": "drizzle-kit migrate",
    "db:studio": "drizzle-kit studio",
    "db:push": "npx drizzle-kit push"
  },
}

Usage Example

import db from "@/db/connection";
src/app/api/route.ts
import { usersTable } from "@/db";
import db from "@/db/connection";
import { eq } from "drizzle-orm";
import { NextResponse } from "next/server";
 
export const GET = async () => {
  try {
    const user: typeof usersTable.$inferInsert = {
      name: "John",
      age: 30,
      email: "john123@example.com"
    };
 
    await db.insert(usersTable).values(user);
    console.log("New user created!");
 
    const users = await db.select().from(usersTable);
    console.log("Getting all users from the database: ", users);
    await db
      .update(usersTable)
      .set({
        age: 31
      })
      .where(eq(usersTable.email, user.email));
    console.log("User info updated!");
 
    await db.delete(usersTable).where(eq(usersTable.email, user.email));
    console.log("User deleted!");
 
    return NextResponse.json(
      {
        success: true,
        data: users
      },
      { status: 200 }
    );
  } catch (error) {
    console.error("Delete error:", error);
 
    return NextResponse.json(
      {
        success: false,
        message: "Internal server error"
      },
      { status: 500 }
    );
  }
};

File & Folder Structure

Loading files...

Installation

npx servercn-cli@latest add pr pg-drizzle-neon