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