annotate scripts/.functions.sh @ 129:5c986cbb22b8

DEP-12: add simple script to standardize setting up projects
author smith@nwoca.org
date Mon, 08 May 2017 16:38:33 +0100
parents 8f45c43ea7a4
children c029be781d13
rev   line source
55
77ff739c078d add script to provide shortened docker ps with ssdt labels
smith@nwoca.org
parents:
diff changeset
1 #!/bin/bash
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
2 export SSDT_SCRIPTS=$(dirname "${BASH_SOURCE[0]}")
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
3 export SSDT_HOME=$(dirname $SSDT_SCRIPTS)
61
cc997ae758c6 add process summary and list
smith@nwoca.org
parents: 59
diff changeset
4
73
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
5 # deletes psql data from specified service
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
6 resetDbVolume() {
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
7 # Works for named and unnamed volumes and custom $PGDATA.
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
8 # Container must be stopped
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
9 service=${1?Must supply db service to reset}
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
10 container=$(composeGetContainer $service)
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
11 if [ "$container" != "" ]
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
12 then
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
13 echo "deleting db data from $container"
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
14 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
15 fi
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
16 }
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
17
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
18 # finds docker container for specified compose service
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
19 composeGetContainer() {
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
20 service=${1?"Must supply service from current project"}
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
21
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
22 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
23 echo $container
d2c44193fbaa explictly remove db's before import
smith@nwoca.org
parents: 66
diff changeset
24 }
79
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
25
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
26 executeSQL() {
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
27 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
28 container=$(composeGetContainer $service)
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
29
85957628f4c0 add script to clear liquibase lock on existing db container
smith@nwoca.org
parents: 73
diff changeset
30 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
31 }
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
32
8f45c43ea7a4 DEP-12: start upgrading scripts and compose files for RC and docker 1.12
Dave Smith <smith@nwoca.org>
parents: 79
diff changeset
33 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
34 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
35 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
36 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
37 }