kratos/script/add-down-migrations.sh

21 lines
731 B
Bash
Executable File

#!/usr/bin/env bash
# This script adds empty down migrations for any migration that misses them.
# Adding them is necessary because if the down migration is missing, the
# migration will only be applied once, even if the database is completely
# rolled back.
# In newer versions of ory/x/popx, the migration box enforces that all up
# migrations have a down migration. Use this script to add them.
set -Eeuo pipefail
for f in $(find . -name "*.up.sql"); do
base=$(basename $f)
dir=$(dirname $f)
migra_name=$(echo $base | sed -e "s/\..*\.up\.sql//" | sed -e "s/\.up\.sql//")
if ! compgen -G "$dir/$migra_name*.down.sql" > /dev/null; then
echo "Adding empty down migration for $f"
touch $dir/$migra_name.down.sql
fi
done