概要
prismaの導入から簡単なクエリー・メモ
prismaとは
node.jsとTypescriptのORマッパーで(Goでも使える)以下の特徴などがある
- データモデルをスキーマで表現する
- スキーマから型を生成できる(直感的に扱えるようになる)
- PRISMA STUDIOという名のSQLクライアントを内臓している(web)
セットアップ
# インストール
$ npm i -D prisma
# 初期化
$ npx prisma init
初期化すると以下のファイルが生成される
- .env
- prisma/schema.prisma
.env
にはDBの接続先設定を設定し、schema.prisma
のdatasource.provider
には、使用するデータベースをしていする(postgresql, mysql, sqliteなど)
公式Doc
DATABASE_URLの設定例
.env
# postgresql
# postgresql://USER:PASSWORD@HOST:PORT/DATABASE?schema=SCHEMA
DATABASE_URL="postgresql://johndoe:randompassword@localhost:5432/mydb?schema=public"
# mysql
# mysql://USER:PASSWORD@HOST:PORT/TABLE_NAME
DATABASE_URL="mysql://root:root@localhost:3306/test_database"
# sqlite
# file:FILE_PATH
DATABASE_URL="file:./dev.db"
prisma/schema.prisma
にはデータベースの情報やデータモデル(テーブル構造)を記述する
・データベースの情報
・データモデル
・スキーマ リファレンス
マイグレーションの作成・実行
マイグレーションの作成・DBへ反映・型情報の生成
$ npx prisma migrate dev
# マイグレーションの語尾に`init`を付与する
# `20210606142525_init`
# $ prisma migrate dev --name init
他のコマンド
# Prisma Studioの起動
$ prisma studio
# データベースをリセットしDBへ反映(本番では使用しない)
$ prisma migrate reset
# マイグレーションのステータスチェック
$ prisma migrate status
# マイグレーションの実行・DBへ反映
$ prisma migrate deploy
# 型情報の生成
$ prisma generate