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

リレーショナルデータベース

データベースに接続し、データベースアクセス用のPrisma Clientを生成することにより、既存のNode.jsまたはTypeScriptプロジェクトにPrisma ORMを追加する方法を学びます。次のチュートリアルでは、Prisma CLIPrisma Client、およびPrisma Introspectionを紹介します。

ヒント

別のORMからPrisma ORMに移行する場合は、TypeORMからの移行またはSequelizeからの移行ガイドを参照してください。

前提条件

このガイドを正常に完了するには、以下が必要です。

  • package.jsonを含む既存のNode.jsプロジェクト
  • Node.js がマシンにインストールされていること(公式にサポートされているバージョンについてはシステム要件を参照)
  • PostgreSQL データベースサーバーが実行中で、少なくとも1つのテーブルを持つデータベースがあること

正確なバージョンの要件については、システム要件を参照してください。

データベースの接続URL(認証資格情報を含む)を手元に用意してください!データベースサーバーが実行されておらず、Prisma ORMを試したいだけの場合は、クイックスタートを確認してください。

Prisma ORMを設定する

最初のステップとして、package.jsonファイルが含まれているプロジェクトディレクトリに移動します。

次に、Prisma CLIを開発依存関係としてプロジェクトに追加します。

npm install prisma --save-dev
注意

プロジェクトに複数のpackage.jsonファイルを含むディレクトリ(例:frontendbackendなど)が含まれている場合、Prisma ORMはAPI/バックエンドレイヤーでの使用に特化して設計されていることに注意してください。Prismaを設定するには、関連するpackage.jsonファイルを含む適切なバックエンドディレクトリに移動し、そこでPrismaを設定します。

npxをプレフィックスとして付けることで、Prisma CLIを呼び出すことができます。

npx prisma
情報

別のパッケージマネージャーを使用してPrisma ORMをインストールする方法については、インストール手順を参照してください。

次に、次のコマンドでPrisma Schemaファイルを作成して、Prisma ORMプロジェクトを設定します。

npx prisma init --datasource-provider postgresql --output ../generated/prisma

このコマンドは、いくつかのことを行います。

  • データベース接続変数とスキーマモデルを含むPrisma Schemaを含むschema.prismaという名前のファイルを含むprismaという名前の新しいディレクトリを作成します。
  • datasourceを次のように設定します。PostgreSQLおよび出力をそれぞれカスタムロケーションに設定します。
  • プロジェクトのルートディレクトリに.envファイルを作成します。これは、環境変数(データベース接続など)を定義するために使用されます。
バージョン管理を使用していますか?

gitなどのバージョン管理を使用している場合は、生成されたクライアントをアプリケーションから除外するために、.gitignoreに1行追加することをお勧めします。この例では、generated/prismaディレクトリを除外します。

.gitignore
generated/prisma/

prisma initによって作成されたデフォルトのスキーマは、providerとしてPostgreSQLを使用していることに注意してください。datasource-providerオプションでプロバイダーを指定しなかった場合は、datasourceブロックを編集して、代わりにpostgresqlプロバイダーを使用する必要があります。

prisma/schema.prisma
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}