メインコンテンツにスキップ

Prisma CLI

Prismaコマンドラインインターフェース(CLI)は、コマンドラインからPrismaプロジェクトを操作するための主要な方法です。新しいプロジェクトアセットの初期化、Prisma Clientの生成、イントロスペクションによる既存のデータベース構造の分析を行い、アプリケーションモデルを自動的に作成できます。

コマンドリファレンス

コマンドの完全なリストについては、Prisma CLIコマンドリファレンスを参照してください。

インストール

Prisma CLIは通常、開発依存関係としてローカルにインストールされます。そのため、以下のコマンドでは--save-dev(npm)および--dev(Yarn)オプションが使用されています。

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
グローバルインストール(非推奨)
警告

Prisma CLIのグローバルインストールは推奨しません。バージョン競合を引き起こす可能性があるためです。

  • 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.dokyumento.jp)

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は、次の2つのコンテキストでテレメトリーを使用します。

  • CLIの利用状況データを収集する場合
  • CLIエラーレポートを送信する場合

このページでは、Prismaの全体的なテレメトリーアプローチ、収集されるデータの種類、およびデータ収集をオプトアウトする方法について説明します。

Prismaがメトリクスを収集する理由

テレメトリーは、製品を使用しているユーザー数と、製品を使用している頻度をよりよく理解するのに役立ちます。多くのテレメトリーサービスとは異なり、当社のテレメトリー実装は意図的に範囲が限定されており、実際には開発者にとって役立ちます。

  • 範囲を限定:テレメトリーを使用して、1つの質問に答えます。Prisma CLIを使用している月間アクティブ開発者の数は?
  • 価値を提供する:当社のテレメトリーサービスは、バージョンアップデートもチェックし、セキュリティ通知を提供します。

データが収集されるタイミング

データは、以下に説明する2つのシナリオで収集されます。

利用状況データ

prisma CLIの呼び出しとStudioの一般的な使用状況により、https://checkpoint.prisma.ioのテレメトリーサーバーにデータが送信されます。注意点:

  • データには、スキーマまたはデータベース内のデータは含まれません
  • Prismaは、CLIコマンドを実行した後にのみ情報を送信します

送信されるデータの概要は次のとおりです。

フィールド属性説明
製品文字列製品名(例:prisma
バージョン文字列現在インストールされている製品のバージョン(例:1.0.0-rc0
アーキテクチャ文字列クライアントのオペレーティングシステムアーキテクチャ(例:amd64)。
OS文字列クライアントのオペレーティングシステム(例:darwin)。
node_version文字列クライアントのNode.jsバージョン(例:v12.12.0)。
署名文字列ランダムで識別不可能な署名UUID(例:91b014df3-9dda-4a27-a8a7-15474fd899f8
user_agent文字列チェックポイントクライアントのユーザーエージェント(例:prisma/js-checkpoint
タイムスタンプ文字列リクエストがRFC3339形式で行われた日時(例:2019-12-12T17:45:56Z

この動作をオプトアウトするには、CHECKPOINT_DISABLE環境変数を1に設定します(例:

export CHECKPOINT_DISABLE=1

エラー報告

Prismaは、CLIでクラッシュが発生した場合にエラーデータを収集する可能性があります。

エラーレポートが送信される前に、エラーレポートの送信を確認または拒否するプロンプトが必ず表示されます!エラーレポートは、明示的な同意なしに送信されることはありません!

データ収集をオプトアウトする方法

利用状況データ

利用状況データの収集をオプトアウトするには、CHECKPOINT_DISABLE環境変数を1に設定します(例:

export CHECKPOINT_DISABLE=1

エラー報告

データ収集をオプトアウトするには、インタラクティブプロンプトにいいえと応答します。