13
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

概要

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.prismadatasource.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
13
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?