Skip to content
SPECIFICTION
Get listed

Doctrine Migrations vs pgroll

Doctrine Migrations

doctrine-project.org

pgroll

pgroll.com

Side by side

FigureDoctrine Migrationspgroll
Price fromFreeFree
Free planYesYes
Free trial——
Open source—Yes
Windows—Yes
macOS—Yes
LinuxYesYes
Self-hostedYesYes
Plans published12
Spec score · Database Migration Tools8.5 (#6)8.5 (#7)
LicenseThe GitHub repository identifies the project as MIT licensed.The repository is licensed under Apache License 2.0.
PurposeDoctrine Migrations adds database schema versioning and helps deploy schema changes.pgroll is an open-source command-line tool for safe, reversible PostgreSQL schema migrations that keep multiple schema versions available simultaneously.
SupportThe documentation directs users to the Doctrine mailing list, Slack, GitHub bug reporting, and Stack Overflow for help.Users are directed to GitHub issues, GitHub discussions and Discord for assistance.

Plans

Doctrine Migrations

  • Doctrine MigrationsFree

Doctrine Migrations pricing →

pgroll

  • Open sourceFree
  • Open-sourceFree

pgroll pricing →

In their own words

Doctrine Migrations

Doctrine Migrations is a free, self-hosted PHP library for versioning database schemas and deploying changes in a reviewable, testable way. Built on Doctrine DBAL and ORM, it can generate migration code by comparing a database schema with ORM mapping information, with documentation covering diffing with or without the ORM. Console commands show migration status, perform dry runs, execute one or more migrations, and revert changes. Generated SQL can be written to a file with --write-sql instead of applied directly, while --no-interaction supports unattended execution. Transaction controls cover all-or-nothing behavior and running with or without transactions. Install it through Composer, which provides a doctrine-migrations console application, or download a PHAR from GitHub releases. Doctrine lists integrations for Symfony, Zend, Laravel, Silex, and Nette. Version 3.9.8 is stable; 3.8 and earlier are unmaintained.

Visit doctrine-project.org

pgroll

pgroll is an open-source command-line tool for PostgreSQL schema migrations that keeps old and new schema versions available while applications move between them. Its expand/contract workflow lets clients choose a version through PostgreSQL's search_path. The project describes migrations as zero-downtime and says it applies changes without locking the database; it can also backfill columns automatically when needed. For breaking changes, pgroll builds virtual schemas from views over physical tables and uses triggers to carry writes between old and new columns. Active migrations can be rolled back to the previous schema version. It supports PostgreSQL 14 and later, including RDS and Aurora, and is available for Linux, macOS, and Windows or self-hosting. It can convert SQL generated by ORMs, with examples for Alembic, Django, and Drizzle, though manual data migrations and SQL consolidation may be needed. On PostgreSQL 14, its versioned views do not respect row-level security policies, which can make it a poor choice for RLS users on that version. The project is licensed under Apache License 2.0.

Visit pgroll.com