Skip to main content

Prisma

安裝Prisma

npm install @prisma/client @prisma/adapter-pg dotenv pg
npx prisma init --output ../app/generated/prisma

initalize Prisma

npx prisma init --output ../app/generated/prisma

This will create:

  • A prisma directory with a schema.prisma file.
  • A prisma.config.ts file for configuring Prisma.
  • A .env file containing a local DATABASE_URL at the project root.

Create a Prisma Postgres database

npx create-db
  • this will create a remote database
  • replace the generated DATABASE_URL in .env file connection string

Define Prisma Schema

  • In the prisma/schema.prisma file, add the following models:
generator client {
provider = "prisma-client"
output = "../app/generated/prisma"
}

datasource db {
provider = "postgresql"
}

model User {
id Int @id @default(autoincrement())
email String @unique
name String?
posts Post[]
}
model Post {
id Int @id @default(autoincrement())
title String
content String?
published Boolean @default(false)
authorId Int
author User @relation(fields: [authorId], references: [id])
}

add dotenv to prisma.config.ts

import "dotenv/config";
import { defineConfig, env } from "prisma/config";

export default defineConfig({
schema: "prisma/schema.prisma",
migrations: {
path: "prisma/migrations",
},
datasource: {
url: env("DATABASE_URL"),
},
});