Skip to content

Instantly share code, notes, and snippets.

@laughingman7743
Created May 6, 2016 07:40
Show Gist options
  • Save laughingman7743/b41e2086e87aef714e1eb764056c45e5 to your computer and use it in GitHub Desktop.
Save laughingman7743/b41e2086e87aef714e1eb764056c45e5 to your computer and use it in GitHub Desktop.
REDASH_STATIC_ASSETS_PATH=../rd_ui/dist/
REDASH_LOG_LEVEL=INFO
REDASH_REDIS_URL=redis://YOUR_REDIS_URL
REDASH_DATABASE_URL=postgresql://YOUR_DATABASE_URL
#!/usr/bin/env bash
### Usage ###
# ./migration.sh ${envfile_name} ${current_version} ${new_version}
### Example (migrate from 0.10.0.b1555 to 0.11.0.b1776 for production) ###
# ./migration.sh envfile_production 0.10.0.b1555 0.11.0.b1776
docker=/usr/bin/docker
docker_image=redash/redash
envfile=${1}
migrations_current=($(${docker} run --rm=true --env-file=${envfile} ${docker_image}:${2} \
/bin/sh -c "cd ./migrations/ && find . | sort"))
migrations_new=($(${docker} run --rm=true --env-file=${envfile} ${docker_image}:${3} \
/bin/sh -c "cd ./migrations/ && find . | sort"))
migrations=(`echo ${migrations_current[@]} ${migrations_new[@]} | tr ' ' '\n' | sort | uniq -u`)
for e in ${migrations[@]}; do
script=`echo ${e#./} | tr -d '\r\n'`
${docker} run --rm=true --env-file=${envfile} ${docker_image}:${3} \
/bin/sh -c "PYTHONPATH=.:\$PYTHONPATH; export PYTHONPATH; /usr/bin/python ./migrations/${script}"
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment