[Advent Calendar 2021][Day6]HasuraGraphQLを使ってデータモデルを作る

undefined
はじめに
Advent Calendar 2021のDay6。 今回は、HasuraGraphQLを使ってデータモデルを作っていこうと思います。
HasuraGrahpQLをDocker-Composeで起動する
- Hasura CLIをインストールする
curl -L https://github.com/hasura/graphql-engine/raw/stable/cli/get.sh | INSTALL_PATH=$HOME/gopath/bin bash
参考
https://hasura.io/docs/latest/graphql/core/hasura-cli/install-hasura-cli.html#install-hasura-cli
- hasuraのCLIを初期化する
hasura init
- docker-composeファイルを取得する
curl https://raw.githubusercontent.com/hasura/graphql-engine/stable/install-manifests/docker-compose/docker-compose.yaml -o docker-compose.yml
参考
https://hasura.io/docs/latest/graphql/core/getting-started/docker-simple.html
そのままだと、Cloud Shellが再起動するとPostgresのデータが消えてしまうので、修正します。
diff --git a/docker-compose.yml b/docker-compose.ymlindex 85c550e..50e4890 100644--- a/docker-compose.yml+++ b/docker-compose.yml@@ -4,9 +4,11 @@ services: image: postgres:12 restart: always volumes:- - db_data:/var/lib/postgresql/data+ - ./hasura/db_data:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: postgrespassword+ ports:+ - "5432:5432" graphql-engine: image: hasura/graphql-engine:v2.0.10 ports:@@ -26,6 +28,3 @@ services: HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log ## uncomment next line to set an admin secret
- docker-composeで起動する
docker-compose up -d
Cloud Shellの右上にあるウェブでプレビュー
> ポート8080でプレビュー
をクリックします。そうするとHasuraの管理画面が表示されます。
テーブルを作る
Hasuraの管理画面でポチポチしながらテーブルの作成ができます。 作成するテーブルは2つ。
作成したテーブルはこちら
設定をエクスポートする
再利用できるよう設定をエクスポートしておきます。
hasura metadata export
migrationファイルを作成する
DBスキーマも同様に再利用できるようMigrationファイルを作成します。
hasura migrate create init --from-server --database-name default
まとめ
今回は、HasuraGraphQLを使ってデータモデルをつくりました。 次回は、Nuxt3を使ってフロントエンドのプロジェクトを作成します。
