supabase-cli/internal/db/diff/templates/migra.sh

21 lines
572 B
Bash

#!/bin/sh
set -eu
# migra doesn't shutdown gracefully, so kill it ourselves
trap 'kill -9 %1' TERM
run_migra() {
# additional flags for diffing extensions
[ "$schema" = "extensions" ] && set -- --create-extensions-only --ignore-extension-versions "$@"
migra --with-privileges --unsafe --schema="$schema" "$@"
}
# accepts command line args as a list of schema to generate
for schema in "$@"; do
# migra exits 2 when differences are found
run_migra "$SOURCE" "$TARGET" || status=$?
if [ ${status:-2} -ne 2 ]; then
exit $status
fi
done