跳到主要内容

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,表示命令出错
  • 退出代码 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 命令后发送信息

以下是被提交数据的概述

字段属性描述
产品字符串产品名称(例如 prisma
版本字符串当前安装的产品版本(例如 1.0.0-rc0
arch字符串客户端的操作系统架构(例如 amd64)。
os字符串客户端的操作系统(例如 darwin)。
node_version字符串客户端的 node 版本(例如 v12.12.0)。
签名字符串随机的、非身份识别的签名 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

错误报告

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