yoyo-migrations
The facts below are what the maker publishes about yoyo-migrations, checked and dated. Our editors have not written about it yet.
The facts
Each one read from yoyo-migrations's own pages, with the date it was checked.
Where it runs
- Apply and rollback
- Its command line can list, apply, roll back, reapply, and mark migrations.checked 11 Oct 2026
What it does
- Credential handling
- The prompt-password option prompts for a database password to help prevent it from appearing in process listings.checked 11 Oct 2026
- Custom backends
- Custom database backends can be added as Python packages and discovered through entry points.checked 11 Oct 2026
- Database backends
- Documented backends include PostgreSQL, MySQL, SQLite, ODBC, Oracle, Snowflake, and Redshift.checked 11 Oct 2026
- Database limitation
- Some databases, including MySQL, do not support rolling back DDL statements, so a failed migration may require manual database recovery.checked 11 Oct 2026
- Installation
- The documentation instructs users to install yoyo-migrations from PyPI with pip.checked 5 Oct 2026
- Intended audience
- PyPI classifies the package for developers and the console environment.checked 11 Oct 2026
- License
- PyPI lists the license as Apache Software License (Apache).checked 5 Oct 2026
- Migration controls
- The command line can apply, roll back, reapply, list, mark, and unmark migrations.checked 5 Oct 2026
- Migration dependencies
- Migrations can declare dependencies, and yoyo runs them in dependency then filename order.checked 5 Oct 2026
- Migration formats
- Migration scripts can be written as SQL files or Python scripts.checked 5 Oct 2026
- Migration ordering
- Migrations can declare dependencies and run in dependency then filename order.checked 11 Oct 2026
- Purpose
- Yoyo is a database schema migration tool whose migrations are SQL files or Python scripts.checked 11 Oct 2026
- Python integration
- Yoyo can also be called from Python code to read migrations and apply or roll them back through a database backend.checked 11 Oct 2026
- Python steps
- Python migrations can use SQL queries or Python functions for apply and rollback steps.checked 11 Oct 2026
- Python use
- Yoyo can be called from Python code to read migrations and apply or roll them back.checked 5 Oct 2026
- Security configuration
- The documentation shows SSL options for MySQL connections, including certificate and key settings.checked 11 Oct 2026
- Support
- The project documentation directs users to its issue tracker and mailing list for issues, questions, and suggestions.checked 11 Oct 2026
- Transaction limitation
- Some databases, such as MySQL, do not support rolling back DDL statements, so errors may require manually resetting database state.checked 5 Oct 2026
- Transactions
- Each migration runs in a separate transaction with savepoints isolating its steps, where supported by the database.checked 11 Oct 2026
- Unsupported backends
- The package listing says ODBC and Oracle backends are available but unsupported.checked 5 Oct 2026
Alternatives to yoyo-migrations
- 1

Atlas
Free planOpen sourceWebAPILinuxmacOS8.3From $39 a month - 2
DeepFilterNet
Free planOpen sourceAPILinuxmacOSSelf-hosted7.6Free plan - 3
pgroll
Free planOpen sourceLinuxmacOSSelf-hostedWindows7.3Free plan - 4

Skeema
Free planLinuxmacOSWindows6.9From $649 a year - 5

Bytebase Enterprise
Free planWebAPISelf-hosted6.8From $20 a month - 6
Sqitch
Free planLinuxmacOSSelf-hostedWindows6.7Free plan
