← Docs

Next.js

Next.js doesn't have a built-in database layer. You use Gold Lapel's connection wrapper directly — one module, any server-side context.

Install

npm install @goldlapel/goldlapel

Setup

Create a connection module at lib/db.js:

import goldlapel from '@goldlapel/goldlapel';
const conn = await goldlapel.start(process.env.DATABASE_URL);
export default conn;

App Router

Use the connection in an API route (app/api/users/route.js):

import conn from '@/lib/db';

export async function GET() {
  const users = await conn.query('SELECT * FROM users');
  return Response.json(users.rows);
}

Pages Router

Use the connection in getServerSideProps:

import conn from '@/lib/db';

export async function getServerSideProps() {
  const users = await conn.query('SELECT * FROM users');
  return { props: { users: users.rows } };
}

Server-Side Only

Gold Lapel only runs server-side. In Next.js, this means API routes, getServerSideProps, and Server Components — never in client components.

ORMs

Using Prisma? See @goldlapel/prisma. Using Drizzle? See @goldlapel/drizzle.