22 lines
760 B
Bash
22 lines
760 B
Bash
#!/bin/sh
|
|
set -eu
|
|
cd "$(dirname "$0")/../.."
|
|
|
|
previous_env=${1:-}
|
|
if [ -z "$previous_env" ] || [ ! -r "$previous_env" ]; then
|
|
echo "Usage: $0 /secure/path/previous-release.env" >&2
|
|
exit 64
|
|
fi
|
|
if [ "${SCHEMA_BACKWARD_COMPATIBLE_CONFIRMED:-false}" != "true" ]; then
|
|
echo "Refusing rollback: set SCHEMA_BACKWARD_COMPATIBLE_CONFIRMED=true after migration review." >&2
|
|
exit 64
|
|
fi
|
|
|
|
./scripts/validate-env "$previous_env"
|
|
docker compose --env-file "$previous_env" config --quiet
|
|
docker compose --env-file "$previous_env" up -d --remove-orphans
|
|
docker compose --env-file "$previous_env" ps
|
|
|
|
echo "Application images rolled back without Alembic downgrade."
|
|
echo "Run deployment/scripts/smoke.sh with ENV_FILE=$previous_env and verify outbox/inbox idempotency."
|