Skip to content
SPECIFICTION
Get listed

dbmate vs pt-online-schema-change

dbmate

github.com

pt-online-schema-change

docs.percona.com

Side by side

Figuredbmatept-online-schema-change
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYes—
macOSYes—
LinuxYesYes
Self-hostedYesYes
Plans published11
Spec score · Database Migration Tools8.6 (#3)7.5 (#21)
LicenseThe repository includes an MIT license.The program is free software under either the GNU General Public License version 2 or the Perl Artistic License.
PurposeDbmate is a database migration tool that keeps database schemas in sync across developers and production servers.pt-online-schema-change alters MySQL table structures without blocking reads or writes by building and populating a copy of the table, then replacing the original.
SupportThe repository README links to a discussion of alternatives and a contribution guide, but the opened page does not specify a support service or response time.Percona says its Community Forum service is free and response times vary with the complexity of the question.

Plans

dbmate

  • dbmateFree

dbmate pricing →

pt-online-schema-change

  • Percona Toolkit (includes pt-online-schema-change)Free

pt-online-schema-change pricing →

In their own words

dbmate

dbmate is a free, open-source command-line tool for keeping database schemas in sync across developers and production servers. It works independently of application language and can be used with Go, Node.js, Python, Ruby, PHP, Rust, C++, and other languages or frameworks. Migrations are plain SQL in timestamp-versioned files. Commands create, apply, and roll back migrations, check status, dump or load a schema, and wait for a database server. The project lists MySQL, MariaDB, PostgreSQL, SQLite, and ClickHouse, and documents BigQuery connections and Spanner support for databases using the PostgreSQL dialect. Migrations run atomically in a transaction by default when the database supports transactions, though individual migration blocks can opt out. dbmate can maintain a schema.sql dump for source-control review and Git diffs; creating dumps relies on database client tools such as pg_dump, mysqldump, or sqlite3. It reads DATABASE_URL by default and can load environment variables from a .env file. Installation options include NPM, Homebrew, Scoop, a Linux binary, and Docker images. Go applications can use it as a library, and Go embed can package migrations into an application binary.

Visit github.com

pt-online-schema-change

pt-online-schema-change has no write-up on Specifiction yet; its figures are above.

Visit docs.percona.com