re:dashを0.11.0+b2016から何を思ったか1.0.0+b2521まで上げたのでその時に実行したDBマイグレーションのメモ。 以下のサイトを参考にした。
laughingman7743.hatenablog.com
# dockerホストで実行 $ docker-compose exec redash /bin/bash # env | grep REDASH > .env # for script in migrations/*; do echo $scirpt ; PYTHONPATH=. ./bin/run python $script;done # rm .env
なんか、大量にエラーを吐いた(テーブルが存在しているとか)けど使えているからまぁ大丈夫かな…たぶん。
追記(2016/12/06 19:00
どうやら migaraionts
配下のスクリプトをすべて実行してはいけないようだ…。
そりゃあ大量にエラーがでる…。
参考にしたサイトも大元のfabricもちゃんと、古いバージョンと新しいバージョンで存在する差分を取っていたのであった。
ということで、以下のようなスクリプトを作ったので、次アップデートするときはよしなにmigrateできるだろう。
#!/bin/bash set -e OLD_VERSION="$1" if [ -z "$OLD_VERSION" ]; then echo "Usage: $(basename $0) <old version>" exit 1 fi ( docker run --rm redash/redash:$OLD_VERSION find migrations -type f ; docker-compose run -T redash find migrations -type f ; ) | sort | uniq -u | while read SCRIPT; do echo "+ $SCRIPT" docker-compose run -T -e PYTHONPATH=. --rm redash python $SCRIPT done