Getting Started

6. Database

Configure Prisma, Supabase, and PostgreSQL database.

Introduction

I use Prisma ORM to connect to PostgreSQL for data management.

PostgreSQL was chosen mainly because it can be used with cloud services like Supabase to start projects with zero cost.

Self-hosted Service Connection

Simply write the postgresql connection string, with environment variable name DATABASE_URL.

# prisma orm database

DATABASE_URL="postgresql://username:password@server:port/database?schema=public"

Supabase Connection

Prepare DATABASE_URL connection API Key.

  • URL server address.
  • anon public key is used for client-side data access.
  • service_role secret is used for server-side data creation and modification.

API Settings

Prepare DIRECT_DATABASE_URL direct connection configuration, used for running Prisma synchronization functions.

Connection string

.env configuration, configure two environment variables as follows.

DATABASE_URL="prisma://accelerate.prisma-data.net/?api_key=__API_KEY__"
DIRECT_DATABASE_URL="postgresql://user:password@host:port/db_name?schema=public"

prisma/schema.prisma

datasource db {
  provider  = "postgresql"
  url       = env("DATABASE_URL")
  directUrl = env("DIRECT_DATABASE_URL")
  schemas   = ["next_auth", "public"]
}

Sync Data

Synchronize the data table definitions in schema.prisma to the server PostgreSQL tables.

npm run prisma:migrate

Create Prisma Client

After execution, connection library files will be created in the /prisma/client directory and copied to /node_modules/@prisma/client/ location for use.

npm run prisma:generate

At this point, the Prisma configuration is complete.


end


Resources

Features

Company

Copyright © 2025. All rights reserved.