2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初サイト制作メモ3: PostgreSQL+PrismaでDBを構築

Last updated at Posted at 2024-02-21

※備忘録用。誤った記載があるかもしれません。コメントで教えていただければ嬉しいです

今回利用するもの

  • PostgreSQL
    リレーショナルデータベース(RDB)の作成や操作、管理ができるオープンソースのデータベース管理システム(DBMS)。
    VercelではStrageタブから選択できる。
    スクリーンショット 2024-02-21 22.21.48.png

  • 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テーブルができていることが確認できる
スクリーンショット 2024-02-21 22.51.59.png

Prismaのセットアップ

PrismaのGet Startedを参考に、セットアップを行う。

yarn add -D prisma ※自分はyarnを使っているので。また、typescript ts-node @types/nodeは既に追加済
npx prisma
npx prisma init
.envに、vercel上で確認できる環境変数が入っている状態にする
スクリーンショット 2024-03-24 17.45.54.png

PrismaからVercel上のPostgreSQLにテーブル作成する

prisma/schema.prismaにデータモデルを定義。
スクリーンショット 2024-03-24 18.01.42.png

npx prisma migrate dev --name init
migrationファイルの生成 + スキーマの変更が実行される
※以降、データモデル定義を変更した場合は、--name の後ろに変更内容をメモ的に入れて実行する。vercelのDBの_prisma_migrationsでメモを確認可能。

DBにテーブルが作成されていることを確認。
スクリーンショット 2024-03-24 18.21.02.png

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?