最近ノード.jsでサーバ開発を進める際にPrisma2を使っている。 それで簡単にまとめてみる。
ちなみにprisma2 はprisma1 とは異なる。 (ここではprisma2をprismaと説明する)
始める前にORMの概念を整理しておいたので、軽く読んでくるのがおすすめだ。
###prismaはORMなのか?
prismaがORMであるかと聞かれたら、ORMと同じ目的を持っているが、他のアプローチを使用していると答えることができる。 つまり、違うという。
データをモデリングしてPrismaクライアントを生成すると、上のようにprisma.userを通じてUserテーブルにアクセスできます。
ただし、Prismaは常にJavaScriptオブジェクトを返却するため、開発者は返還されるオブジェクトの形態を知っていなければなりません。
###PRISMAは何だ?
Prismaはデータベースツールキットである。 ツールキットと呼ばれる理由は、三つの要素からなるセットであるからである。
- Prisma Client : Node.js & TypeScriptのためのクエリビルダー
- Prisma Migrate : データモデリング&マイグレーションシステム
- PrismaStudio : モデリングとデータ管理ができるGUI
前述のPrisma スキーマはPrisma のツールを使うための始まりである。 Prismaスキーマはschema。prismaというファイルで管理される。 schema.prismaを通じてモデルを宣言することができ、既に存在するDBをインポートしてもらうことができる。
データをモデリングしてPrisma CLIを使用すれば、モデリングと意味が同じテーブルが自動的に生成される。(テーブル間のRelationまで)
このようなモデリングを行う場所がschema.prismaだ