LoginSignup
5

More than 1 year has passed since last update.

posted at

updated at

Hasuraを使ってみた話

Hasuraとは

Hasuraとは、PostgreSQLからGraphQLAPIサーバを自動で構築してくれるツールです。
GraphQLのリクエストの受け取ると、SQLの発行から、データ取得、レスポンスの返却まで自動で行ってくれます。

どのRDBに対応しているか?

現在PostgreSQLにのみ対応していますが、MySQL対応のプレビュー版が2020年9月に公開され、SQL Server対応版が近々公開されるそうです。

環境構築(ローカル)

以下のコマンドを実行してdocker-composeを入手します。

$ curl https://raw.githubusercontent.com/hasura/graphql-engine/stable/install-manifests/docker-compose/docker-compose.yaml -o docker-compose.yml

入手したファイルは編集を加える必要はなく、以下のコマンドで起動させます。

$ docker-compose up

起動できたら http://localhost:8080/console にアクセスするとコンソールが表示されます。

環境構築(クラウド)

Hasura Cloudというサービスがあるのでこちらを使用します。

AWSにHasura、HerokuにPostgreSQLをそれぞれ自動で構築してくれるサービスになっています。
予めHerokuのアカウントを作成しておく必要がありますが、それを含めても数分で構築できます。
Hasura、PostgreSQLともに無料で使用できます。

コンソール

FireShot Capture 222 - API Explorer - Hasura - hip-stallion-57.hasura.app.png
コンソールからAPIの送信、PostgreSQLのテーブル作成・データ投入などができます。

テーブルの作成

コンソールのDATAタブからCreat Tableをクリックすると作成画面が表示されるので、以下のようにカラム名などを入力していきます。
FireShot Capture 225 - Add Table - Data - Hasura - hip-stallion-57.hasura.app.png
ページ下部にあるAdd Tableをクリックすると以下のように、作成したテーブルの管理画面に遷移します。
ここからデータのINSERTやUPDATEなどができます。
FireShot Capture 228 - Browse - users - Data - Hasura - hip-stallion-57.hasura.app.png

Mutationを使用したデータの追加

FireShot Capture 231 - API Explorer - Hasura - hip-stallion-57.hasura.app.png

最後に

PostgreSQLのデータ管理だけではなく、Auth0アプリの作成も手軽にできるようなので、色々試してみたいと思います。

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
What you can do with signing up
5