Allow running Skyvern on newer DB version when explicitly requested (#3955)

This commit is contained in:
Stanislav Novosad
2025-11-21 09:57:14 -07:00
committed by GitHub
parent 0cbab39a27
commit 91b8a9e0bb

26
entrypoint-skyvern.sh Normal file → Executable file
View File

@@ -2,9 +2,33 @@
set -e
# check alembic
# Set ALLOWED_SKIP_DB_MIGRATION_VERSION env var to the DB version you want to allow (select * from alembic_version)
# If current DB matches this version, migrations will be skipped. Use at your own risk.
ALLOWED_SKIP_DB_MIGRATION_VERSION=${ALLOWED_SKIP_DB_MIGRATION_VERSION:-}
# Run migrations by default
run_migration=true
if [ -n "$ALLOWED_SKIP_DB_MIGRATION_VERSION" ]; then
current_version=$(alembic current 2>&1 | grep -Eo "[0-9a-f]{12,}" | tail -n 1 || echo "")
echo "Current DB version: $current_version"
if [ "$current_version" = "$ALLOWED_SKIP_DB_MIGRATION_VERSION" ]; then
echo "⚠️ WARNING: Skipping database migrations"
echo "⚠️ DB is at version $current_version which matches ALLOWED_SKIP_DB_MIGRATION_VERSION"
echo "⚠️ Running older code against newer database schema"
echo "⚠️ Beware of compatibility risks!"
run_migration=false
else
echo "Current DB version ($current_version) does not match ALLOWED_SKIP_DB_MIGRATION_VERSION ($ALLOWED_SKIP_DB_MIGRATION_VERSION)"
fi
fi
if [ "$run_migration" = true ]; then
echo "Running database migrations..."
alembic upgrade head
alembic check
fi
if [ ! -f ".streamlit/secrets.toml" ]; then
echo "Creating organization and API token..."