Prisma 基本使用

时间:2024-09-30 07:13:00

以下内容官方文档都有,特此记录便于快速查阅文档。

Prisma CLI 作为开发依赖项安装到项目中

npm install prisma --save-dev

Prisma 配合 ts 很强大,所有我们可以结合 ts 一起使用:

npm install typescript ts-node @types/node --save-dev
npx tsc --init

最后,使用 Prisma CLI 的 init 命令设置 Prisma ORM:

npx prisma init

如果使用 mysql 也可以直接使用模板:

npx prisma init --datasource-provider mysql

然后会根目录下多一个名为 prisma 的新目录,其中包含一个名为 schema.prisma 的文件,该文件包含带有数据库连接变量和架构模型的 Prisma 架构。

一般来说,还需要在项目的根目录中创建 .env 文件,用于定义环境变量(例如您的数据库连接)。

比如:

这里 webstorm 可以安装一个插件 prisma orm 配合使用,提供代码高亮等。

schema.prisma

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init

generate client {
  provider = "prisma-client-js"
}

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

// 编写表结构

// 文章表
model Post {
  id        Int      @id @default(autoincrement())
  title     String
  content   String
  authorId  Int
  author    User    @relation(fields: [authorId], references: [id])  // 关联用户表
}

// 用户表
model User {
  id        Int      @id @default(autoincrement())
  username  String
  password  String
  posts     Post[] // 一对多关联文章表
}

.env

DATABASE_URL="mysql://root:123456@localhost:3306/user"

“mysql://账号:密码:@主机:端口/库名”

然后执行 prisma migrate dev 会自动连库创建表,创建表的语句也会放在 prisma 目录下:

中间需要的 migrate name 随便起,不重要。

在这里插入图片描述

在这里插入图片描述

相关文章