Hexabase(ヘキサベース)は企業においても安心して利用できるBaaS(Backend as a Service)を提供しています。データ操作は管理画面を使って行ったり、API(REST APIまたはGraphQL)を使って行います。
そうした中で、処理の自動化などを手軽にできるようにHexabase CLIが提供されています。こちらは名前の通り、ターミナルを使ってCLIでHexabaseを操作できるコマンドです。
今回はこのHexabase CLIを使って、プロジェクトのバックアップとリストアを行う方法を解説します。
Hexabase CLIのインストール
まずHexabase CLIをインストールします。これはNode.jsで作られており、npmにて公開されています。
$ npm install -g hexabase-cli
インストールすると hx
コマンドが使えるようになります。
環境設定
まず環境をセットします。環境ごとにアクセスするURL(プロダクション、ステージングなど)を切り替えられます。
代表的な環境は以下のコマンドで作成できます。
# 本番環境
$ hx contexts:set prod \
--server=https://api.hexabase.com\
--sse=https://sse.hexabase.com
# ステージング環境
$ hx contexts:set dev \
--server=https://az-api.hexabase.com\
--sse=https://az-sse.hexabase.com
作成した環境は以下のように確認できます。
$ hx contexts:get
NAME SERVER SSE
────────── ─────────────────────────── ───────────────────────────
dev https://az-api.hexabase.com https://az-sse.hexabase.com
prod https://api.hexabase.com https://sse.hexabase.com
Current-context set to: dev
利用する環境を切り替える場合には use
を使います。
$ hx contexts:use prod
Current-context successfully set to: prod
ワークスペースを指定する
次に利用するワークスペースを指定します。まず現在あるワークスペースを取得します。
$ hx workspaces
ID NAME
──────────────────────── ─────────────────────────
62bab4885be1affdb6021ad9 A社
64620242babcf83ddbb0f267 B社
Current-workspace set to: B社
ワークスペースを切り替える場合には、 use
を使います。
$ hx workspaces:use 62bab4885be1affdb6021ad9
Current-workspace set to: A社
プロジェクトの一覧を取得する
次にワークスペース配下にあるプロジェクト一覧を取得します。
$ hx projects
ID DISPLAY_ID NAME
──────────────────────── ──────────── ──────────────────────
62de47659f3360614126382b APP-xKVON9Kk 販売管理
プロジェクトをダウンロード
ではここからが本番です。プロジェクトのデータをダウンロード(バックアップ)します。この時には save
を使います。
$ hx projects:save 64631ff60a06c5ab92a8dc5a -d back.zip
✔ Please provide details for your project template
Name: Development
Category: Development
✔ Include histories · No / Yes
Task successfully queued... done
Template with tp_id 6464816f24dfa14e5a4c9a1b successfully created
Downloading template with tp_id 6464816f24dfa14e5a4c9a1b... done
プロジェクトのリストア
バックアップしたプロジェクトをHexabaseに戻す場合には restore
を使います。先ほどバックアップしたZipファイルを指定してください。
hx projects:restore back.zip
You are about to restore the template to:
workspace: 開発用
context: dev
✔ Do you want to proceed? (y/N) · true
Task successfully queued... done
Template file successfully uploaded, project successfully restored
プロジェクトのリストアは非同期で行われます。復元には数分〜数十分かかります。
注意点
作成されるZipファイルにはパスワードがかかっています。パスワードは非公開になります。
まとめ
データのバックアップは大事です。定期的なバックアップをお勧めします。
Hexabase CLIでは他にも様々な処理を提供しています。Hexabaseとともに利用してください。