移行ファイルの管理

バージョン管理されたインクリメンタルかつリバーシブルな更新を実行するデータベーススキーマ管理は、本番環境で動作するアプリにとって重要なコンポーネントです。Hasuraには、データベーススキーマを管理するための移行システムが組み込まれています。

さらに重要なのは、CLIを介して移行ファイルを提供する場合、移行ファイルはコンソールUIによって自動生成される点です。このUIを使うことで、テーブル、カラム、ファンクション、ビューの作成などのスキーマの変更が容易になります。Hasuraがデータベース移行のUIを自動生成するアーキテクチャ の詳細についてはこちらで紹介します。

このUIは便利ですが、移行ファイルを生成する方法はこれだけではありません。hasura CLIでは、移行ファイルを手動で作成できます。本チュートリアルでは、スキーマの初期化にこの手順を用いています。

SQLファイルをダウンロード して、以下のコマンドを実行します。

hasura migrate create init --sql-from-file `/path/to/schema.sql` --database-name default

SQLファイルのパスは適切なものに更新します。上記のSQLファイルと共に移行ファイルが作成されます。Hasuraプロジェクトの migrations ディレクトリに新しく作成された移行ファイルを確認します。

次に以下のコマンドを実行します。

hasura migrate apply --database-name default

ファイルの順番に従って、 migrations ディレクトリ内の移行ファイルが処理されます。

次に、 http://localhost:9695/console/data (Dataタブ)に移動して、追跡されていないテーブルのリストを確認します。これらのテーブルは、移行の初期に使用したSQLファイルの一部です。

移行をリセットしたい場合は、ブログ記事 Resetting Hasura Migrations に従ってください。

:Hasuraの移行システムの使用は任意です。使い慣れたデータベース移行ツールを他にお持ちなら、引き続きそれを使用してデータベーススキーマを管理できます。CLIが提供するコンソールを使って、Hasuraの移行をキャンセルします。Data -> Migrationsタブに移動し、 Allow Postgres schema changes via console のトグルをオフに切り替えます。

Did you find this page helpful?
Start with GraphQL on Hasura for Free
  • ArrowBuild apps and APIs 10x faster
  • ArrowBuilt-in authorization and caching
  • Arrow8x more performant than hand-rolled APIs
Promo
footer illustration
Brand logo
© 2024 Hasura Inc. All rights reserved
Github
Titter
Discord
Facebook
Instagram
Youtube
Linkedin
graphql-handbook