annotate scripts/.functions.sh @ 143:c029be781d13

DEP-12: handle symlinks in home discovery
author smith@nwoca.org
date Wed, 05 Jul 2017 22:12:06 +0100
parents 8f45c43ea7a4
children 249ec634da33
rev   line source
55
77ff739c078d add script to provide shortened docker ps with ssdt labels
smith@nwoca.org
parents:
diff changeset
1 #!/bin/bash
143
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
2
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
3 getScriptDir() {
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
4 SOURCE="${BASH_SOURCE[0]}"
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
5 while [ -h "$SOURCE" ] ; do SOURCE="$(readlink "$SOURCE")"; done
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
6 echo $( cd $( dirname $SOURCE) && pwd )
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
7 }
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
8
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
9 if [ "$SSDT_HOME" == "" ]
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
10 then
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
11 export SSDT_SCRIPTS=$(getScriptDir)
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
12 export SSDT_HOME=$(dirname $SSDT_SCRIPTS)
c029be781d13 DEP-12: handle symlinks in home discovery
smith@nwoca.org
parents: 85
diff changeset
13 fi
61
cc997ae758c6 add process summary and list
smith@nwoca.org
parents: 59
diff changeset
14
73
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
15 # deletes psql data from specified service
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
16 resetDbVolume() {
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
17 # Works for named and unnamed volumes and custom $PGDATA.
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
18 # Container must be stopped
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
19 service=${1?Must supply db service to reset}
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
20 container=$(composeGetContainer $service)
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
21 if [ "$container" != "" ]
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
22 then
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
23 echo "deleting db data from $container"
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
24 docker-compose run --no-deps --rm $service bash -c "rm -rf \${PGDATA?Missing PGDATA env}"
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
25 fi
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
26 }
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
27
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
28 # finds docker container for specified compose service
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
29 composeGetContainer() {
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
30 service=${1?"Must supply service from current project"}
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
31
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
32 container=$( docker-compose ps | cut -d " " -f 1 -s | grep _${service}_ )
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
33 echo $container
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
34 }
79
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
35
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
36 executeSQL() {
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
37 service=${1?Must supply db service to execute against}
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
38 container=$(composeGetContainer $service)
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
39
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
40 echo "$2" | docker exec -i $container sh -c "gosu postgres psql \$DB_NAME"
85
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
41 }
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
42
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
43 composeGetProject() {
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
44 service=${1?"Must supply service from current project"}
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
45 container=$(composeGetContainer $service)
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
46 echo $(docker inspect -f '{{index .Config.Labels "com.docker.compose.project" }}' $container)
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
47 }