はじめに
以下のゴールを達成するため、本日は Hasuraの query と mutation を使った基本的な CRUDの操作をやります。
最終的なゴール
以下のような構成のアプリを作ることです。
目的
- 仕事で使っている技術のキャッチアップと復習
- 使う可能性がある技術の理解度向上
Hasuraとは
英語ですが、詳しくは👆のDocsを見るのがいいです。
でも、簡単に言うと、PostgreSQLからGraphQL APIサーバーを自動で構築するものです。
(最近 MySQLにも対応したらしい)
公式の以下図の通り、DB、SQLとGraphQLのAPIを使うクライントとの間に入ってやりとりを相互変換してくれるやつです。
あと、テーブル構造や外部キーから自動でSchemaを構築できるそうです。
Hasura Cloud からアカウント作成
自分はアカウントが無いので、そこからやります。
githubのアカウントはあるので、それを使ってアカウント作成します。
Hasura GraphQL Engineは、さまざまなデータソースに接続し、リアルタイムのGraphQL APIを即座に生成します。
あなたのプロジェクトの準備完了
だって。
admin secret というのがよくわからず、したの矢印の通りログイン
ログインしたら、「はじめかた」の動画資料がありました。
これを見ながら、Hasura の query と mutation を使った基本的な CRUDの操作ができるまでやろうと思います。
Heroku上にDBを作成する
以下にアクセスしましょう。
githubなどで、認証が通っていれば、以下のようなProject一覧が出てくるかと思います。
では、「New Project」をクリックしましょう。
- plan は Free Tier
- region は 無料であればなんでもいいです
- project name も なんでもいいです
- Create Free Project しましょう
すると、下記のような画面になると思います。
「Env vars」のところを見に行くと、2つの環境変数が自動で生成されていることがわかります。
もし、 「HASURA_GRAPHQL_ADMIN_SECRET」が自動生成されていたら、消しておきましょう。
そこまでできたら、「Launch Console」しましょう。
僕がやったら、エラー画面が出ましたが、再度「Launch Console」したら以下の画面がでました。
Hasura consoleに来ましたね。
次は、「Data」のタブをクリックします。
今回はHeroku製の無料のDBを作りたいので、「Create Heroku Database」します。
Herokuのアイコンをクリックすると、アカウントの連携画面がでるので、連携すると、Heroku 上に DBができたっぽい。
サイドバーにある、default > public から 「Create Table」するとテーブルを作ることができます。
次回以降見ていきましょう。