Hasura と Prisma
#Prisma #SQL
ちょっとどういうシチュエーションでどっちを使い分けるといいかわかっていないが、いずれかを覚えたい。
素振りをやっていく
動機
個人開発でバックエンドの手を極限まで抜きたい
API のコード書くのはまぁいいけど DB を立てたりサーバーを立てたりに関して何も考えたくない
仕事でバックエンドのコード書いてられるのは結局他人がインフラをやってくれるからに他ならない
が、それはそれとして NoSQL よりはもう少しちゃんとしたやつ(というか RDB)が欲しい
全部 Mongo と Firestore でやってくの流石に嫌じゃないですかー
本当に小規模なものを作るぞってなったときは Mongo Atlas 使うと思う
Heroku Postgres 以外に選択肢を広げたい
#GraphQL 連携はまぁあったら嬉しいけどどっちでもいいや
GraphQL 好きだけどそんなに必須ではない( #REST でも良い )
一方ローカルでもある程度いい感じに動いて欲しい(これまた必須ではない)
マネージドでない代わりに next-auth などと合わせやすい prisma
認証など別途考える必要あるが下回り全部やってくれる hasura みたいな認識になってきた
認証
Firebase Auth + hasura の合わせ方については公式ブログの記事がある
https://hasura.io/blog/authentication-and-authorization-using-hasura-and-firebase/
Prisma の場合、NextAuth のようなライブラリに任せるのが最も簡単そう( 別に Firebase Auth 使っても良いとは思うが )
https://github.com/nextauthjs/next-auth/blob/01c897f23eeccb3a2366365a8204921594aa712d/www/docs/schemas/adapters.md
Prisma 公式ドキュメントは DB は heroku でいいじゃんという感じっぽい
https://www.prisma.io/docs/guides/deployment/deploying-to-vercel
Heroku Postgres 以外に選択肢を広げたい
というわけで、楽をしようと思うとこれは叶わない形になる。heroku Postgres + Next.js on Vercel という構成で考えるのが丸そう