LoginSignup
1
1

Hexabaseプロジェクトのバックアップとリストア

Posted at

Hexabase(ヘキサベース)は企業においても安心して利用できるBaaS(Backend as a Service)を提供しています。データ操作は管理画面を使って行ったり、API(REST APIまたはGraphQL)を使って行います。

そうした中で、処理の自動化などを手軽にできるようにHexabase CLIが提供されています。こちらは名前の通り、ターミナルを使ってCLIでHexabaseを操作できるコマンドです。

今回はこのHexabase CLIを使って、プロジェクトのバックアップとリストアを行う方法を解説します。

Hexabase CLIのインストール

まずHexabase CLIをインストールします。これはNode.jsで作られており、npmにて公開されています。

hexabase-cli - 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とともに利用してください。

hexabase-cli - npm

1
1
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
1
1