🏃

redash-toolbelt の使い方

2021/10/11に公開

https://zenn.dev/geeknees/articles/f269b99a5b4dfe にてRedash のエクスポート方法を書きましたが、正式に移行ツールがリリースされたので使用方法をまとめます。

基本的にはこちらに書いてあるとおり。なお3日前の10月9日に(8月末が目標)リリースだったので出来たてほやほやです。
https://github.com/getredash/redash-toolbelt/tree/master/redash_toolbelt/docs/redash-migrate

デバッグ等の開発の様子は下記のリンク先から見れます。リリーススケジュールが気になっていたのでこうしてオープンで開発が進むのは進捗が把握できて助かりました。
https://github.com/getredash/redash-toolbelt/pull/23

使い方としては簡単で git clone して各種コマンドを叩くだけです。

git clone git@github.com:getredash/redash-toolbelt.git
cd redash-toolbelt
pip install --upgrade redash-toolbelt
redash-migrate --version

セットアップ後はまず初期設定を行います。

redash-migrate init

こんな感じの画面が出てくるのでURLやAPIキーなどの情報を入れます。

その後は各種コマンドで旧サーバーから新サーバーにデータを移行します。

redash-migrate data_sources, redash-migrate users, redash-migrate users という感じです。途中削除されたユーザーやデータソースとなるとエラーになります。原因を調べて再実行すると、移行できなかったデータから以降を再開できます。

注意点としては仕組みとして下記のような形で新サーバーにPOSTにてデータを登録することです。そのためクエリーの作成日や実行時間などは移行できません。

┌───────────────────┐                                                          ┌───────────────────┐
│                   │                                                          │                   │
│                   │                                                          │                   │
│   Origin Redash   │                   .─────────────────.                    │Destination Redash │
│     Instance      │◀───────GET───────(  redash-migrate   )───────POST───────▶│     Instance      │
│                   │                   `─────────────────'                    │                   │
│                   │                                                          │                   │
└───────────────────┘                                                          └───────────────────┘

とはいえ…

I found a different script online, why should I use redash-migrate instead?

redash-migrate is the officially supported migration tool. We wrote it because the previous migration script did not work reliably with newer versions of Redash (since V7). But you can use any tool you want. Or fork this one and modify it for your needs.

とあるようにこちらにあるツールが正式にサポートされている移行ツールなのでまずはこちらで移行を試してみるのが良いかなと思います。


P.S. 11月30日にホスト版のRedashはサービス終了になるので利用者はお早めに。

We've decided to discontinue Hosted Redash (app.redash.io) effective November 30, 2021.
https://redash.io/

Discussion