Vercel Postgres を試す
先日、3つの Storage サービスが公開されました🎉
- Vercel KV
- Vercel Postgres
- Vercel Blob
このスクラップでは、個人的に気になった Vercel Postgres を試していきます。
環境構築
用意されているテンプレートを試す。(ORM を使うテンプレートもあるっぽいが、これは後で試す)
流れにそって進めていくと、リポジトリの作成 & デプロイまでしてくれた。
サポートされている ORM
2023/05/03 時点では下記の2つがサポートされている。
- Kysely
- Prisma
Drizzle は Coming Soon とのこと。
Prisma と Drizzle の存在は何となく知ってたけど、Kysely は知らなかった。
Vercel Postgres Next.js Starter テンプレートの中身を見る
lib/seed.ts でテーブルを作ったり、Seed を流したりしてる。実際はビルドフェーズで Migration と Seed の投入をやると良さそう。
取得はこの辺り。
Vercel Postgres + Prisma Next.js Starter のテンプレートを試す
これ。
Vercel Postgres Next.js Starter の時と同じく画面上からいくつか設定するだけでデプロイまでいける。
テンプレートの中身。
Seed の投入。
データの取得。
こちらはビルド時に Seed の投入などをやってるっぽい。
普段 Rails を使ってて ActiveRecord に慣れてるからか、Prisma は読みやすく感じる。
Vercel Postgres + Prisma Next.js Starter のテンプレートをデプロイしたもの。
登録されているデータを確認する
登録されているデータは、Vercel のダッシュボードの作成したプロジェクトから Storage → 作成したDBを選択すればデータを確認できる画面に移動できる。
確認方法は下記の2種類あるっぽい。
Browse
テーブルを選択して確認する方法。全てのレコードを確認したいならこれで良さそうだけど、データが増えてくると時間がかかりそう。
Query
直接 SQL を流して確認する方法。条件付きで取得することも可能なので、こちらの方が使う機会は多そう。
SELECT *
FROM users
WHERE id = '1';
ローカルで動かせるようにする
テンプレートを使用したプロジェクトをローカルに clone してきただけでは下記のエラーになるため動きません。これは development 用の環境変数が設定されていないためです。
下記のコマンドを実行することで、development 用の環境変数を pull することができます。
vercel env pull .env.development.local
Error: Your codebase isn’t linked to a project on Vercel. Run `vercel link` to begin. のエラーが発生した場合
先に Vercel のプロジェクトとリンクする下記のコマンドを実行してください。
vercel link
すると、ルートディレクトリに.env.development.local
が作成されていると思います。
この状態で開発サーバーを起動して確認してみます。
yarn dev
http://localhost:3000/ を開いて下記のような画面が表示されれば、セットアップ完了です🎉
参考
記事にまとめた📝