FREEDOM251

Freedom251 › Database Migration Tools

Evolve

Free plan LinuxWindows

Visit Evolve Alternatives Pricing

Evolve's own site

What Evolve is

Evolve is an open-source database migration tool that applies plain SQL scripts to manage database changes across environments and development teams. It can automate migrations in continuous integration and delivery workflows, and is available as a .NET library, a .NET tool, or a standalone CLI. The documentation lists PostgreSQL, SQL Server, SQLite, MySQL, MariaDB, Cassandra, and CockroachDB as supported databases. Evolve handles versioned migrations, which run once, and repeatable migrations, which run again when their contents change. It records migration names and checksums in a metadata table and checks that record each time it runs. Its four commands are migrate, erase, repair, and info. Each migration runs in its own database transaction by default; TransactionMode can instead commit or roll back a group of scripts together. Cluster mode coordinates migration runs across nodes with a session-level lock. Evolve is free and self-hostable, with rollback support and CI/CD automation. Its standalone CLI is available for x64 Windows and Linux without external dependencies. The library requires .NET 4.7.2+ or .NET Standard 2.0/.NET 5.0; the tool requires .NET Core SDK 3.0 or later.

Who it suits

Evolve suits developers and teams who manage database changes with SQL scripts across multiple environments, including CI/CD workflows. It is a fit for projects using one of its listed databases and a supported .NET deployment format.

What it does well

  • Free, open-source, and self-hosted.
  • Supports seven documented database systems.
  • Provides versioned and repeatable SQL migrations.
  • Offers rollback support and CI/CD automation.
  • Cluster mode coordinates runs with a session-level lock.

What to know first

  • The .NET library and tool require specified .NET runtimes.
  • CockroachDB concurrent migrations are not officially supported.
  • Cassandra scripts require a semicolon at the end of a line.

Limits

The .NET library requires .NET 4.7.2+ or .NET Standard 2.0/.NET 5.0, and the .NET tool requires .NET Core SDK 3.0 or later. Concurrent migrations are not officially supported for CockroachDB; its documented alternative is not battle tested. Cassandra scripts have semicolon and keyspace-command restrictions.

Plans

PlanBilled and limitsPrice
EvolveFree-time project; .NET library, .NET tool, standalone CLIFree

As github.com lists them, read 9 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the Evolve GitHub website.
  2. Choose the .NET library, .NET tool, or standalone CLI deployment format.
  3. For the library, use .NET 4.7.2+ or .NET Standard 2.0/.NET 5.0; for the tool, use .NET Core SDK 3.0 or later.
  4. For the standalone CLI, use x64 Windows or Linux.

Verdict

Choose Evolve if you want a free SQL migration tool that can run as a .NET library, tool, or standalone CLI. Look elsewhere if you need officially supported concurrent migrations for CockroachDB or cannot meet its runtime requirements.

Questions

How much does Evolve cost?

The Evolve plan is free. It is open source.

Which databases does Evolve support?

The documentation lists PostgreSQL, SQL Server, SQLite, MySQL, MariaDB, Cassandra, and CockroachDB.

What deployment formats are available?

Evolve is available as a .NET library, a .NET tool, and a standalone CLI.

What are the runtime requirements?

The library requires .NET 4.7.2+ or .NET Standard 2.0/.NET 5.0. The .NET tool requires .NET Core SDK 3.0 or later.

Does Evolve support rollback and CI/CD?

Yes. Rollback support and CI/CD automation are listed.

Can Evolve coordinate migrations across nodes?

Cluster mode uses a session-level lock to prevent concurrent Evolve commands on the same database.

Facts from Evolve's own pages

Automation
It automates database changes and keeps them synchronized across environments and development teams, including for continuous integration and delivery. · github.com, 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, 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, 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, 9 Oct 2026
Commands
Its four commands are migrate, erase, repair, and info. · evolve-db.netlify.app, 9 Oct 2026
Deployment formats
Evolve is available as a .NET library, a .NET tool, and a standalone CLI. · github.com, 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, 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, 9 Oct 2026
Purpose
Evolve is a cross-platform database migration tool inspired by Flyway that uses plain SQL scripts. · github.com, 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, 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, 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, 9 Oct 2026
Supported databases
The documentation lists PostgreSQL, SQL Server, SQLite, MySQL, MariaDB, Cassandra, and CockroachDB. · evolve-db.netlify.app, 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, 9 Oct 2026

Where Evolve stands on Freedom251

Look at these too