見出し画像

新旧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

紹介してもらった移行スクリプトを動かしてみる。
うまく動かなかったので、スクリプトを一部修正。
修正&実行を何度かトライしてみて、個人的に満足できる移行ができたのでおわり。

サポートしてもらうことで、キンパツは大好物のミスドが食べられます!よろしくお願いします!