Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Database Migration Tools
  3. Evolve

Evolve

What it is

Evolve is a free, open-source database migration tool that applies plain SQL scripts across environments and development teams. It supports continuous integration and delivery and is available as a .NET library, .NET tool, or standalone command-line interface. Documented databases include PostgreSQL, SQL Server, SQLite, MySQL, MariaDB, Cassandra, and CockroachDB. Versioned migrations run once, while repeatable migrations run again when their contents change. Evolve records migration names and checksums in a metadata table and checks them on each run. Its commands are migrate, erase, repair, and info. Each migration uses a separate transaction by default, with an option to group scripts. Cluster mode uses a session-level lock to coordinate nodes. The standalone CLI targets x64 Windows and Linux without external dependencies. The library and tool have specific .NET runtime requirements. Cassandra and CockroachDB have documented limitations. The project is maintained as an unfunded free-time effort.

For and against

For

  • Free open-source SQL migration tool
  • Supports seven documented database systems
  • Offers versioned and repeatable migrations
  • Provides CLI, library, and .NET tool formats
  • Cluster mode coordinates migration nodes

Against

  • Cassandra requires semicolon-terminated commands
  • CockroachDB concurrent migrations are unofficial
  • Deployments have stated .NET requirements
  • Maintainer describes project as unfunded

The verdict

Evolve provides structured SQL migrations with tracking, transactions, rollback support, and CI/CD automation. Check its runtime requirements and database-specific limitations before deployment.

Who it suits

Evolve suits developers managing SQL migrations across multiple environments, databases, and CI/CD workflows. It is also useful for teams wanting a self-hosted .NET or CLI deployment.

Plans and prices

Evolve

Free

Free-time project; .NET library, .NET tool, standalone CLI

Every plan, in full

On the record

Automation
It automates database changes and keeps them synchronized across environments and development teams, including for continuous integration and delivery.github.com · read 9 Oct 2026
Cassandra limitation
For Cassandra scripts, commands must end with a semicolon as the last character on a line, and the `use <keyspace>;` command is unsupported by the underlying driver.evolve-db.netlify.app · read 9 Oct 2026
Cluster coordination
Cluster mode uses a session-level lock to coordinate migrations across nodes and prevent concurrent Evolve commands on the same database.evolve-db.netlify.app · read 9 Oct 2026
CockroachDB limitation
Concurrent migrations are not officially supported for CockroachDB because it does not implement `pg_try_advisory_lock`; the documented alternative is described as not battle tested.evolve-db.netlify.app · read 9 Oct 2026
Commands
Its four commands are migrate, erase, repair, and info.evolve-db.netlify.app · read 9 Oct 2026
Deployment formats
Evolve is available as a .NET library, a .NET tool, and a standalone CLI.github.com · read 9 Oct 2026
Migration tracking
Evolve stores migration names and checksums in a metadata table and checks it each time Evolve runs.evolve-db.netlify.app · read 9 Oct 2026
Migration types
Evolve supports versioned migrations that run once and repeatable migrations that run again when their content changes.evolve-db.netlify.app · read 9 Oct 2026
Purpose
Evolve is a cross-platform database migration tool inspired by Flyway that uses plain SQL scripts.github.com · read 9 Oct 2026
Runtime requirements
The .NET library requires .NET 4.7.2+ or .NET Standard 2.0/.NET 5.0, while the .NET tool requires .NET Core SDK 3.0 or later.evolve-db.netlify.app · read 9 Oct 2026
Standalone CLI platforms
The standalone CLI is provided for x64 Windows and Linux and has no external dependencies.evolve-db.netlify.app · read 9 Oct 2026
Support
The maintainer says the project is personal, free-time, and unfunded, and invites users and companies to support it through GitHub Sponsors; company donations are mentioned as a way to receive priority support.github.com · read 9 Oct 2026
Supported databases
The documentation lists PostgreSQL, SQL Server, SQLite, MySQL, MariaDB, Cassandra, and CockroachDB.evolve-db.netlify.app · read 9 Oct 2026
Transactions
By default, each migration runs in a separate database transaction; the TransactionMode option can instead commit or roll back a group of scripts together.evolve-db.netlify.app · read 9 Oct 2026

Alternatives to Evolve

Every alternative, ranked