fix: escape % characters in DATABASE for Alembic config #1534
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🐛 Bug-fix PR
Before opening this PR please:
make lint- passesruff,mypy,pylintmake test- all unit + integration tests greenmake coverage- ≥ 90 %make docker docker-run-sslormake podman podman-run-ssl📌 Summary
Bootstrap script fails if DATABASE_URL contains
%characters. #1533🔁 Reproduction Steps
%.python3 -m mcpgateway.bootstrap_dborpython3 -m mcpgateway.🐞 Root Cause
Alembic's Config.set_main_option() uses Python's configparser, which interprets % as interpolation syntax and raises InterpolationSyntaxError for URL-encoded characters like %40.
💡 Fix Description
Escape
%to%%before passing the URL to configparser.🧪 Verification
make lintmake testmake coverage📐 MCP Compliance (if relevant)
✅ Checklist
make black isort pre-commit)