新旧Redash間のデータ移行をRedash API経由で行うPython Scriptを公開しました
これはなに?
新旧Redash間のデータ移行をRedash API経由で行うPython Scriptです。
どんな時に使えるか?
古いバーションのRedashを使っていて、新しいバーションのRedashへ移行したい!的な場面で使えます。
移行のために新旧Redashインスタンスの2つ立ち上げて、今回作ったスクリプトを実行することで、Redashのいくつかのデータが移行できます。
なぜAPI経由の移行なのか?
Redashの移行方法は調べるとこれまでの知見が色々出てきます。
今回なぜAPI経由でデータ移行したかというと、私にRedash構築の知識がなく、構築済みのRedash間をAPIを使ってゴニョゴニョすることしかできなかったからです。
移行実績
旧 Redash 6.0.0+b8536 から 新 Redash 8.0.0+b32245 へのデータ移行を今回公開したスクリプトで行いました。
注意点
Redashの全データが移行できるスクリプトではないです。
私が移行作業を行う上で最低限必要なデータのみ移行できるように書いたスクリプトです。
移行要件次第でスクリプトを書き換える必要があります。
移行までの過程
移行方法を調べたが、Redash構築の知識がなかったのでRedash APIを使って移行を検討。
Redash APIを調べて、移行スクリプトを最初Goで書こうと考えていた。
Goでスクリプトを雑に書き始めたところに、10Xの石田さんがRedash APIを使った移行スクリプトを紹介してくれた🙏
紹介してもらった移行スクリプトはこちら。
https://gist.github.com/arikfr/e1c01f6c04d8348da52f33393b5bf65d
紹介してもらった移行スクリプトを動かしてみる。
うまく動かなかったので、スクリプトを一部修正。
修正&実行を何度かトライしてみて、個人的に満足できる移行ができたのでおわり。