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

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

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

ヒント

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

前提条件

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

  • package.jsonを持つ既存のNode.jsプロジェクト
  • Node.js がマシンにインストールされていること(正式にサポートされているバージョンについては、システム要件を参照してください)
  • PlanetScale データベースサーバーが実行中で、少なくとも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を設定します。

これで、Prisma CLIの前にnpxを付けることで、Prisma CLIを呼び出すことができます。

npx prisma
情報

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

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

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

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

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

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

.gitignore
generated/prisma/

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

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