個人開発でHasuraを使ってみる

Hasuraとは?

HasuraはデータベースにアクセスするためのGraphQL APIを生成するオープンソースエンジンです。
PostgresやMySQLに対応しています。私は、サーバレスアーキテクチャやJAMStackでアプリやWebサイトを構築することが多いので、NoSQLではなく、RDBを簡単に使用できることはめちゃめちゃアイデアが広がります!(GraphQL APIまでついてくる🚀)

Hasuraの導入事例(User Stories)も一読しておくと良いでしょう。

Hasuraの料金

料金

Hasura料金

フリー

  • 1GB/月のデータ送信
  • 60分のリクエスト

スタンダード(99ドル)

  • 20GB/月のデータ送信
  • 無制限のリクエスト
  • 高可用性
  • 追加GBあたり2ドル

とにかくHasuraをデプロイしてみる

Hasura のデプロイを参考して、Hasuraのデプロイをしてみました。Herokuのアカウントがある場合は、HerokuからPostgresを立ち上げて、Hasuraエンジンをデプロイします。自分はこれを最初に実行しました。

リレーションシップの作成

リレーションシップの作成

ステップ1 Foreign Keysの設定

Hasura Relation

ステップ2 Table Relationshipsの設定

Hasura Relations

上記の2つを設定すると、

query {
  users {
    id
    role {
      id
      name
    }
  }
}

みたいな形で、テーブルを参照できました。

cliインストール

HasuraCLIのインストール

curl -L https://github.com/hasura/graphql-engine/raw/stable/cli/get.sh | bash

必須ではないかも。cliをインストールしたまま何もしていません。

Hasuraチュートリアル

Course Introduction

Getting Started with Hasura Cloud: Corsなどenvの設定

参考