跳至主要内容

Prisma CLI

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

命令参考

请参阅 Prisma CLI 命令参考,以获取完整的命令列表。

安装

Prisma CLI 通常作为开发依赖项在本地安装,因此以下命令中使用了--save-dev(npm)和--dev(Yarn)选项。

信息

我们建议您在项目的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

您可以通过在命令后添加--help标志,获取任何prisma命令的更多帮助。

退出代码

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

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

遥测

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

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

此页面描述了 Prisma 的整体遥测方法、收集的数据类型以及如何选择退出数据收集。

为什么 Prisma 收集指标?

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

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

何时收集数据?

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

使用数据

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

  • 数据包括您的模式或数据库中的数据。
  • 仅在您执行 CLI 命令后,Prisma 才会发送信息。

以下是提交数据的概述。

字段属性描述
product字符串产品的名称(例如prisma)。
version字符串产品当前安装的版本(例如1.0.0-rc0)。
arch字符串客户端的操作系统架构(例如amd64)。
os字符串客户端的操作系统(例如darwin)。
node_version字符串客户端的节点版本(例如v12.12.0)。
signature字符串随机的、不可识别的签名 UUID(例如91b014df3-9dda-4a27-a8a7-15474fd899f8)。
user_agent字符串检查点客户端的用户代理(例如prisma/js-checkpoint)。
timestamp字符串以 RFC3339 格式发出请求的时间(例如2019-12-12T17:45:56Z)。

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

export CHECKPOINT_DISABLE=1

错误报告

当 CLI 发生崩溃时,Prisma 可能会收集错误数据。

在提交错误报告之前,始终会弹出一个提示,要求您确认或拒绝提交错误报告!未经您明确同意,绝不会提交错误报告!

如何选择退出数据收集?

使用数据

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

export CHECKPOINT_DISABLE=1

错误报告

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