※備忘録用。誤った記載があるかもしれません。コメントで教えていただければ嬉しいです
今回利用するもの
-
PostgreSQL
リレーショナルデータベース(RDB)の作成や操作、管理ができるオープンソースのデータベース管理システム(DBMS)。
VercelではStrageタブから選択できる。
-
Prisma
Node.js ORMの1つ。ORM=Object-relational mapping
プログラミング言語のオブジェクトで定義したメソッドによって、SQLを書かずにデータベースの操作が可能なツール。
ORMについてはこちらの記事がわかりやすかったです。
PostgreSQLのセットアップ
Vercelのクイックスタートを参考に、Vercel PostgresとVercel CLIを追加
yarn add @vercel/postgres
yarn global add vercel@latest
vercel link
vercel env pull .env.development.local
※もしzsh: command not found: vercel
と表示されたら、export PATH=$PATH:~/.yarn/bin
を実行しておく。
永続的な変更をするには、
PATH環境変数への変更を永続化するためには、~/.zshrcのexport PATHの末尾に:~/.yarn/bin
を追加
クイックスタート内の通りapp/api/create-pets-table/route.ts
を作成して呼び出すと、VercelのPostgreSQLにpetsテーブルができていることが確認できる
Prismaのセットアップ
PrismaのGet Startedを参考に、セットアップを行う。
yarn add -D prisma
※自分はyarnを使っているので。また、typescript ts-node @types/nodeは既に追加済
npx prisma
npx prisma init
.env
に、vercel上で確認できる環境変数が入っている状態にする
PrismaからVercel上のPostgreSQLにテーブル作成する
prisma/schema.prisma
にデータモデルを定義。
npx prisma migrate dev --name init
migrationファイルの生成 + スキーマの変更が実行される
※以降、データモデル定義を変更した場合は、--name の後ろに変更内容をメモ的に入れて実行する。vercelのDBの_prisma_migrationsでメモを確認可能。