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

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

既存のNode.jsまたはTypeScriptプロジェクトにPrisma ORMを追加し、データベースに接続してデータベースアクセス用の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を設定します。

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

npx prisma
情報

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

次に、次のコマンドを使用してPrisma Schemaファイルを作成してPrisma ORMプロジェクトをセットアップします。

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

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

  • データベース接続変数とスキーマモデルを含むPrisma Schemaを含むschema.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")
}