Prismaとは
Node.js(JavaScript / TypeScript)で使用できるO/R Mapperである。以前より使用されているSequelize、TypeORMの後発である。
コマンド
コマンドを使用して設定ファイルの生成やDBからテーブル定義を取り込んで型情報を生成したりできる。
参考:https://www.prisma.io/docs/reference/api-reference/command-reference
DB定義情報のインポート
schema.prismaファイルに定義するテーブル情報は手で書くこともできるが、DBからインポートしたほうが簡単である。下記コマンドを実行することでインポートできる。
ただし、事前にschema.prismaファイルにdatasource設定を記述し、接続先情報を定義しておく必要がある。
./node_modules/.bin/prisma db pull
Windows環境の場合は下記である。
.\node_modules\.bin\prisma.ps1 db pull
Raw Query
Prismaの標準の使用方法ではクエリビルダーを使用するが、自身でSQLを指定したい場合にRaw Query機能を使用できる。
参考:https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access
設定ファイル
データソース
データベースの接続先やアカウント情報等を定義する。
.envファイルに定義し、それを読み込むこともできる。.envファイルを使用することで、環境ごとに異なる設定を行うものの、Prisma自体の設定ファイルは同じ内容を維持できる。
参考:https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#datasource
モデル
DBのテーブル定義とプログラムの型定義のマッチングを行う。
参考:https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#model