跳至主要内容

Prisma CLI

Prisma 命令行界面 (CLI) 是从命令行与 Prisma 项目交互的主要方式。它可以初始化新的项目资产、生成 Prisma Client 以及通过内省分析现有的数据库结构,从而自动创建你的应用程序模型。

命令参考

查看 Prisma CLI 命令参考 获取完整命令列表。

安装

Prisma CLI 通常作为开发依赖项在本地安装,这就是为什么在下面的命令中使用--save-dev (npm) 和--dev (Yarn) 选项。

info

我们建议你在项目的 package.json 中本地安装 Prisma CLI,以避免全局安装可能发生的版本冲突。

npm

使用 npm 安装

npm install prisma --save-dev

Yarn

使用 yarn 安装

yarn add prisma --dev

pnpm

使用 pnpm 安装

pnpm install prisma --save-dev

Bun

使用 Bun 安装

bun add prisma
全局安装(不推荐)
  • npm

使用 npm 安装

npm install -g prisma
  • Yarn

使用 Yarn 安装

yarn global add prisma
  • pnpm

使用 pnpm 安装

pnpm install prisma --global
  • Bun

使用 Bun 安装

bun add --global prisma

使用

如果你将 Prisma 作为开发依赖项安装,你需要在 prisma 命令前加上你的包运行程序。

npm

npx prisma

Yarn

yarn prisma

pnpm

pnpm dlx prisma

Bun

bunx prisma

概述

安装后,可以在命令行中调用 prisma 命令。如果没有参数,它将显示其命令使用情况和帮助文档。

prisma
展示CLI结果
Prisma is a modern DB toolkit to query, migrate and model your database (https://prisma.org.cn)

Usage

$ prisma [command]

Commands

init Setup Prisma for your app
generate Generate artifacts (e.g. Prisma Client)
db Manage your database schema and lifecycle
migrate Migrate your database
studio Browse your data with Prisma Studio
validate Validate your Prisma schema
format Format your Prisma schema

Flags

--preview-feature Run Preview Prisma commands

Examples

Setup a new Prisma project
$ prisma init

Generate artifacts (e.g. Prisma Client)
$ prisma generate

Browse your data
$ prisma studio

Create migrations from your Prisma schema, apply them to the database, generate artifacts (e.g. Prisma Client)
$ prisma migrate dev

Pull the schema from an existing database, updating the Prisma schema
$ prisma db pull

Push the Prisma schema state to the database
$ prisma db push

你可以在任何 prisma 命令后添加 --help 标志以获取更多帮助。

退出代码

所有 prisma CLI 命令在退出时返回以下代码。

  • 退出代码 0 表示命令成功运行。
  • 退出代码 1 表示命令出错。
  • 退出代码 130 表示 CLI 收到信号中断 (SIGINT) 消息,或者用户取消了提示。此退出代码在 Prisma ORM 版本 4.3.0 及更高版本中可用。

遥测

术语遥测是指收集某些使用数据以帮助提高软件质量。Prisma 在两种情况下使用遥测。

  • 收集 CLI 使用数据时。
  • 提交 CLI 错误报告时。

此页面描述了 Prisma 的整体遥测方法,收集了哪些类型的数据以及如何选择不收集数据。

为什么 Prisma 收集指标?

遥测帮助我们更好地了解有多少用户在使用我们的产品以及他们使用我们的产品的频率。与许多遥测服务不同,我们的遥测实现有意地限制了范围,实际上对开发人员很有用。

  • 范围有限:我们使用遥测来回答一个问题:每月有多少活跃的开发人员在使用 Prisma CLI?
  • 提供价值:我们的遥测服务还会检查版本更新并提供安全通知。

何时收集数据?

数据在以下描述的两种情况下收集。

使用数据

调用 prisma CLI 和通常使用 Studio 会导致数据被发送到 https://checkpoint.prisma.io 上的遥测服务器。请注意,

  • 数据包含你的 schema 或你的数据库中的数据。
  • Prisma 只会在你执行 CLI 命令后发送信息。

以下是正在提交的数据概述。

字段属性描述
productstring产品的名称(例如 prisma)。
versionstring产品的当前安装版本(例如 1.0.0-rc0)。
archstring客户端的操作系统体系结构(例如 amd64)。
osstring客户端的操作系统(例如 darwin)。
node_versionstring客户端的节点版本(例如 v12.12.0)。
signaturestring随机的、不可识别的签名 UUID(例如 91b014df3-9dda-4a27-a8a7-15474fd899f8)。
user_agentstring检查点客户端的用户代理(例如 prisma/js-checkpoint)。
timestampstringRFC3339 格式的请求时间(例如 2019-12-12T17:45:56Z)。

你可以通过将 CHECKPOINT_DISABLE 环境变量设置为 1 来选择退出此行为,例如:

export CHECKPOINT_DISABLE=1

错误报告

Prisma 可能在 CLI 崩溃时收集错误数据。

在提交错误报告之前,始终会弹出一个提示,询问你是否确认或拒绝提交错误报告!错误报告永远不会在没有你的明确同意的情况下提交!

如何选择不收集数据?

使用数据

你可以通过将 CHECKPOINT_DISABLE 环境变量设置为 1 来选择不收集使用数据,例如:

export CHECKPOINT_DISABLE=1

错误报告

你可以通过在交互式提示中回复来选择不收集数据。