はじめに
redash v5 (5.0)がリリースされた。
https://discuss.redash.io/t/v5-beta-is-now-ready/2240
今までは4.0.0-rc.1(ほぼlatest)を使っていたが、v5へupdateしたときの手順を記す。
手順
PostgreSQLのバックアップを取得
docker ps docker exec -it redash_postgres_1 /bin/bash pg_dump -U postgres postgres | gzip > /tmp/redash_backup.gz exit docker cp redash_postgres_1:/tmp/redash_backup.gz .
redashの停止
# docker-compose -f docker-compose.production.yml down Stopping redash_nginx_1 ... Stopping redash_server_1 ... Stopping redash_postgres_1 ... Stopping redash_worker_1 ... Stopping redash_nginx_1 ... done Stopping redash_server_1 ... done Stopping redash_postgres_1 ... done Stopping redash_worker_1 ... done Stopping redash_redis_1 ... done Removing redash_nginx_1 ... done Removing redash_server_1 ... done Removing redash_postgres_1 ... done Removing redash_worker_1 ... done Removing redash_redis_1 ... done Removing network redash_default
docker-composeファイルを修正
# diff docker-compose.production.yml docker-compose.production.yml.20180808 10c10 < image: redash/redash:5.0.0-beta.b4476 --- > image: redash/redash:4.0.0-rc.1 26c26 < image: redash/redash:5.0.0-beta.b4476 --- > image: redash/redash:4.0.0-rc.1 #
今までは4.0.0–rc.1を使っていたが、そこを
https://hub.docker.com/r/redash/redash/tags/
の最新tagに変更した
PostgreSQLをv5用にconvert
# docker-compose -f docker-compose.production.yml run --rm server manage db upgrade Starting redash_redis_1 ... done Starting redash_postgres_1 ... done [2018-08-08 01:48:59,768][PID:1][INFO][root] Generating grammar tables from /usr/lib/python2.7/lib2to3/Grammar.txt [2018-08-08 01:48:59,850][PID:1][INFO][root] Generating grammar tables from /usr/lib/python2.7/lib2to3/PatternGrammar.txt [2018-08-08 01:49:03,702][PID:1][INFO][alembic.runtime.migration] Context impl PostgresqlImpl. [2018-08-08 01:49:03,703][PID:1][INFO][alembic.runtime.migration] Will assume transactional DDL. [2018-08-08 01:49:03,736][PID:1][INFO][alembic.runtime.migration] Running upgrade 969126bd800f -> 1daa601d3ae5, add columns for disabled users [2018-08-08 01:49:03,745][PID:1][INFO][alembic.runtime.migration] Running upgrade 1daa601d3ae5 -> d4c798575877, empty message [2018-08-08 01:49:03,761][PID:1][INFO][alembic.runtime.migration] Running upgrade d4c798575877 -> e7004224f284, add_org_id_to_favorites [2018-08-08 01:49:03,770][PID:1][INFO][alembic.runtime.migration] Running upgrade e7004224f284 -> a92d92aa678e, inline_tags [2018-08-08 01:49:03,777][PID:1][INFO][alembic.runtime.migration] Running upgrade a92d92aa678e -> 0f740a081d20, inline_tags [2018-08-08 01:49:03,782][PID:1][INFO][alembic.runtime.migration] Running upgrade 0f740a081d20 -> 71477dadd6ef, favorites_unique_constraint
docker-composeを起動
# docker-compose -f docker-compose.production.yml up -d redash_postgres_1 is up-to-date redash_redis_1 is up-to-date Creating redash_worker_1 ... Creating redash_server_1 ... Creating redash_worker_1 Creating redash_server_1 ... done Creating redash_nginx_1 ... Creating redash_nginx_1 ... done #
update確認
今まで使っていたURLにアクセスすると、v5になったredashに接続が可能
v5の感想
Queriesに”Favorites”機能が追加されたり、パラメータをブラウザ経由で設定できたりと今までより使い勝手が向上。
APIなどの機能テストをした後、本番もupdateしていきたい
リストア(おまけ)
今回は使わなかったけど、万が一databaseがおかしくなった場合、バックアップから復元することになる。その際の手順は以下の通り。一度drop databaseしたあと、バックアップしたデータを流し込む
docker cp /tmp/redash_backup.gz redash_postgres_1:/tmp/redash_backup.gz docker exec -it redash_postgres_1 /bin/bash psql -U postgres template1 DROP DATABASE IF EXISTS postgres; CREATE DATABASE postgres; \q zcat /tmp/redash_backup.gz | psql -U postgres -d postgres
5.0.0-beta.b4476 から 現在のlatestへのupdate (2018/10/3 upadte)
5.0.0.b4754 から 現在のlatestへのupdateは、docker imageを切り替えるだけで大丈夫なようだ。
以下のように変更し、docker composeを立ち上げるだけでよい。
< image: redash/redash:latest --- > image: redash/redash:5.0.0-beta.b4476
5.0.0.b4754 から 現在のlatestへのupdateではDBのスキーマ変更は不要。