Skip to content
SPECIFICTION
Get listed

dbmate vs FluentMigrator

dbmate

github.com

FluentMigrator

fluentmigrator.github.io

Side by side

FiguredbmateFluentMigrator
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hostedYesYes
Plans published11
Spec score · Database Migration Tools8.6 (#3)8.2 (#10)
Database supportThe README lists MySQL, MariaDB, PostgreSQL, SQLite, and ClickHouse as supported databases.The documentation lists providers including SQL Server, PostgreSQL, MySQL, SQLite, Oracle, Firebird, IBM DB2, SAP HANA, Snowflake, and Redshift.
DistributionThe README documents installation through NPM, Homebrew, Scoop, a Linux binary, and Docker images published to GitHub Container Registry.The repository says releases are stored on NuGet and prerelease CI builds on Azure Artifacts.
LicenseThe repository includes an MIT license.The project is released under the Apache-2.0 License.
PurposeDbmate is a database migration tool that keeps database schemas in sync across developers and production servers.FluentMigrator is a .NET framework for managing database schema changes through version-controlled C# migrations.
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.The project points users to GitHub Discussions, bug reports and feature requests, and the fluent-migrator Stack Overflow tag.

Plans

dbmate

  • dbmateFree

dbmate pricing →

FluentMigrator

  • FluentMigratorFree

FluentMigrator 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

FluentMigrator

FluentMigrator is a free .NET framework for managing database schema changes with version-controlled C# migrations. Its fluent C# API defines Up and Down methods for applying changes and rolling them back. The project lists providers for SQL Server, PostgreSQL, MySQL, SQLite, and Oracle, among others; provider packages are selected separately. Migrations can run inside an application, with the Migrate.exe console tool, or through dotnet-fm, which integrates with the cross-platform .NET CLI. By default, FluentMigrator creates a VersionInfo table to record completed migrations. Command-line runners can preview generated SQL without executing it, and the CLI can validate migrations before execution. The project documents .NET dependency injection integration and CI/CD examples for GitHub Actions, Azure DevOps, and Jenkins. The Quick Start calls for .NET 8.0 or later, a supported database, and basic C# and database knowledge. FluentMigrator is released under the Apache-2.0 License, with releases distributed through NuGet.

Visit fluentmigrator.github.io