在Next.js项目中使用Prisma连接PostgreSQL数据库

Prisma教学视频:
https://www.youtube.com/watch?v=QXxy8Uv1LnQ
https://www.youtube.com/watch?v=RebA5J-rlwg
Prisma中文文档:https://prisma.org.cn/docs/orm

  1. 在Next.js项目中使用Prisma连接PostgreSQL数据库

    安装 Prisma ORM

    安装Prisma CLi:

    npm install prisma --save-dev
    

    设置 Prisma ORM:

    npx prisma init
    

此命令执行两件事

  • 创建一个名为 prisma 的新目录,其中包含一个名为 schema.prisma 的文件,该文件包含 Prisma 架构,其中包含您的数据库连接变量和架构模型
  • 在项目的根目录中创建 .env 文件,用于定义环境变量(例如您的数据库连接)
  1. 连接 PostgreSQL数据库

    prisma/schema.prisma

    datasource db {
    	provider = "postgresql"
    	url      = env("DATABASE_URL")
    }
    

    .env

    postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=SCHEMA
    

    简要说明:

字段描述
USER您的数据库用户的名称
PASSWORD您的数据库用户的密码
HOST您的主机名的名称(对于本地环境,它是 localhost)
PORT您的数据库服务器正在运行的端口(对于 PostgreSQL 通常是 5432)
DATABASE数据库的名称
SCHEMA数据库内的架构的名称
  1. 创建数据库模式:

    添加数据模式:

    官方文档示例:

    prisma/schema.prisma

    model Post {
      id        Int      @id @default(autoincrement())
      createdAt DateTime @default(now())
      updatedAt DateTime @updatedAt
      title     String   @db.VarChar(255)
      content   String?
      published Boolean  @default(false)
      author    User     @relation(fields: [authorId], references: [id])
      authorId  Int
    }
    
    model Profile {
      id     Int     @id @default(autoincrement())
      bio    String?
      user   User    @relation(fields: [userId], references: [id])
      userId Int     @unique
    }
    
    model User {
      id      Int      @id @default(autoincrement())
      email   String   @unique
      name    String?
      posts   Post[]
      profile Profile?
    }
    

    数据模型映射到数据库模式:

    npx prisma migrate dev --name init
    
  2. 安装并生成 Prisma 客户端
    安装 @prisma/client

    npm install @prisma/client
    
版权声明:如无特殊标注,文章均来自网络,本站编辑整理,转载时请以链接形式注明文章出处,请自行分辨。

本文链接:https://www.shbk5.com/dnsj/75524.html