LoginSignup
18
5

More than 3 years have passed since last update.

Hasuraを使ってみた話

Last updated at Posted at 2020-12-15

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アプリの作成も手軽にできるようなので、色々試してみたいと思います。

18
5
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
18
5