A Python-based migration tool for extensions that standardizes migration execution. It provides a CLI-based interface to manage both schema and data migrations across multiple backends, ensuring consistent behavior in all environments.
- Docker and Docker Compose plugin (
docker composeCLI) make- CodeRabbit CLI (optional. Used for running review check locally)
Common development workflows are wrapped in the makefile:
make help– list available commandsmake bash– start the app container and open a bash shellmake build– build the application image for developmentmake check– run code quality checks (ruff, flake8, lockfile check)make check-all– run checks and testsmake format– apply formatting and import fixesmake down– stop and remove containersmake review– check the code in the cli by running CodeRabbitmake run– run the CLI toolmake test– run the test suite with pytest
Run the CLI tool:
make runTests run inside Docker using the dev configuration.
Run the full test suite:
make testPass additional arguments to pytest using the args variable:
make test args="-k test_cli -vv"
make test args="tests/test_cli.py"Useful helper targets during development:
make bash # open a bash shell in the app container
make check # run ruff, flake8, and lockfile checks
make check-all # run checks and tests
make format # auto-format code and imports
make review # check the code in the cli by running CodeRabbit