TypeScriptを使用して既存のMongoDBプロジェクトにPrisma ORMを追加する
既存のNode.jsまたはTypeScriptプロジェクトにPrisma ORMを追加する方法を、データベースへの接続とデータベースアクセス用のPrisma Clientの生成を通して学びます。このチュートリアルでは、Prisma CLI、Prisma Client、およびPrisma Introspectionを紹介します。
MongooseからPrisma ORMへ移行する場合は、Mongooseからの移行ガイドを参照してください。
前提条件
このガイドを正常に完了するには、以下が必要です。
-
お使いのコンピューターにNode.jsがインストールされていること(公式サポートバージョンについてはシステム要件を参照)
-
レプリカセットデプロイメントが設定されたMongoDB 4.2+サーバーへのアクセス。私たちはMongoDB Atlasの使用を推奨します。
データベースの接続URL(認証情報を含む)を手元に用意しておいてください!データベースサーバーが稼働しておらず、Prisma ORMを試したいだけであれば、クイックスタートをご覧ください。
正確なバージョン要件については、システム要件を参照してください。
Prisma ORMのセットアップ
まず、package.json
ファイルを含むプロジェクトディレクトリに移動します。
次に、Prisma CLIを開発依存関係としてプロジェクトに追加します。
npm install prisma --save-dev
プロジェクトにpackage.json
ファイルを持つ複数のディレクトリ(例:frontend
、backend
など)が含まれる場合、Prisma ORMはAPI/バックエンド層での使用を目的として設計されていることに注意してください。Prismaをセットアップするには、関連するpackage.json
ファイルが含まれる適切なバックエンドディレクトリに移動し、そこでPrismaを設定してください。
これで、npx
をプレフィックスとして付けてPrisma CLIを呼び出すことができます。
npx prisma
異なるパッケージマネージャーを使用してPrisma ORMをインストールする方法については、インストール手順を参照してください。
次に、以下のコマンドでPrismaスキーマファイルを作成し、Prisma ORMプロジェクトをセットアップします。
npx prisma init --datasource-provider mongodb --output ../generated/prisma
このコマンドはいくつかの処理を実行します。
prisma
という新しいディレクトリを作成し、その中にschema.prisma
というファイルが作成されます。このファイルには、データベース接続変数とスキーマモデルを含むPrismaスキーマが記述されています。datasource
を以下に設定します。MongoDBそして、それぞれ出力をカスタムロケーションに設定します。- プロジェクトのルートディレクトリに
.env
ファイルを作成します。このファイルは、環境変数(データベース接続など)の定義に使用されます。
prisma init
によって作成されるデフォルトのスキーマは、provider
としてPostgreSQLを使用することに注意してください。datasource-provider
オプションでプロバイダーを指定しなかった場合、datasource
ブロックを編集して代わりにmongodb
プロバイダーを使用する必要があります。
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}