20 lines
653 B
Bash
Executable File
20 lines
653 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
source .configuration.sh
|
|
|
|
function add-version() {
|
|
psql $PSQL_OPTS -c "update database_versions set is_active = false where is_active = true" $DB_NAME
|
|
psql $PSQL_OPTS -c "insert into database_versions (version, is_active) values ('$1', TRUE)" $DB_NAME
|
|
}
|
|
|
|
current_version=$(psql $PSQL_OPTS -Atc "select version from database_versions where is_active = true" $DB_NAME)
|
|
|
|
for f in $(ls -1 migrations/*.sql | sort); do
|
|
filev=$(basename $f .sql)
|
|
if [[ $filev > $current_version ]]; then
|
|
psql $PSQL_OPTS -vON_ERROR_STOP= -1f $f $DB_NAME
|
|
# No need to check return code because of the 'set -e'
|
|
add-version $filev
|
|
fi
|
|
done
|