Redgate SQL Compare Alternatives for Linux and macOS

For the SQL Server DBA or developer who works on macOS or Linux and needs to diff two schemas and deploy the difference.

On this page

Your databases run on SQL Server, your laptop runs macOS, and the schema diff keeps landing on the one colleague who still has Windows. DbSchema is the alternative that installs on Windows, macOS and Linux alike: it reverse-engineers the live SQL Server schema over JDBC, compares it against a saved model file, and generates the DDL that closes the difference. Schema synchronization is a Pro feature, and connecting and reverse-engineering are free.

Redgate SQL Compare is what you are replacing, so it is worth being precise about what moves and what does not. Its comparison engine is well known on Windows; the interface is where the operating system decides for you.

How to do schema compare?

A schema comparison reads the structure of two databases, or of a database and a saved design, and works out the DDL that turns one into the other. The structure it reads is tables, columns, data types, keys, indexes, views, triggers and stored procedures, so the result covers the objects a release touches rather than the rows.

In DbSchema the sequence is short, and it is worth knowing which step touches what:

  1. Connect to the SQL Server instance, or open the .dbs model file you saved earlier.
  2. Let DbSchema reverse-engineer the schema into the model, which writes only to the model file.
  3. Open Schema → Compare Model with Database to list the differences object by object.
  4. Choose per difference whether to update the model or push the change to the database.
  5. Open Schema → Synchronize Model with Database, read the generated SQL, edit it if you want to, and click Execute.

Only the last step writes to SQL Server, and it writes the statements you have in front of you. That matters when the difference includes a dropped column or a changed data type, because those are the ones you want to read before they run. Comparing this way is also what makes a schema comparison reviewable by somebody who was not the author.

What is the best SQL Server schema compare tool?

For a SQL Server team that is not entirely on Windows, DbSchema is the one to run, because the same application is the same application on every desk. DbSchema ships as a .exe installer for Windows, a .dmg for macOS, a .sh script or .deb and .rpm packages for Linux, and a .jar archive that runs anywhere with Java 11 or later[6].

Redgate lists SQL Compare's interfaces by platform on its product page: a desktop application with an SSMS add-in, and Linux command-line support marked as beta[1].

Operating systemDbSchemaRedgate SQL Compare
WindowsDesktop applicationDesktop application and SSMS add-in
macOSDesktop applicationNot listed
LinuxDesktop applicationCommand line, beta

The question behind the table is whether the person doing the diff needs to see it. A command line returns a script; a cross-platform design tool shows the objects that differ, lets you exclude the ones that should not ship, and then writes the script from what is left.

Is SQL Compare free?

SQL Compare is commercial software with a trial rather than a free edition. Redgate's product page lists a one-year subscription at $327 per user for one to four users, in US dollars, with separate tabs for the five to nine and ten or more user tiers, so the per-user figure depends on how many seats you buy[1]. Automating the comparison adds a second condition: Redgate's documentation states that a Flyway Enterprise or SQL Toolbelt licence is required to use the SQL Compare and SQL Data Compare command lines in an automated change delivery process, licensed per user, and that every user contributing database changes needs one[2].

DbSchema is licensed the other way round. The Community Edition is free with no time limit and covers connecting, reverse-engineering, interactive diagrams, creating tables and columns, and the SQL editor. Pro is a one-time perpetual licence per user that includes the first year of updates, with an optional annual renewal to keep receiving them afterwards; the purchase page prices in your own currency, on separate tabs for Business, Personal and Universities & Students[3]. The licence you bought does not expire, so the version you have keeps working whether or not you renew. Pro is the edition that adds saving the model to a file, schema synchronization, the visual query builder and the documentation export.

How to compare schemas in SQL Server?

Comparing SQL Server schemas from macOS or Linux runs over JDBC. DbSchema downloads the driver for the database you pick, and if downloads are blocked in your environment you supply the .jar yourself with Upload JDBC driver[7]. Nothing else has to be installed on the workstation.

Two settings in the Connection Dialog are worth setting before the first comparison against anything important. On the Advanced tab, SSL & Parameters lists the JDBC URL parameters the driver understands, grouped by subject, so encryption is picked from a list instead of typed into the URL. On the Settings tab, Read Only Connection blocks every schema and data modification made through DbSchema, which is the setting to use on a production connection while you are only reading the structure[7].

From there the comparison is the sequence above: reverse-engineer into the model, compare, select, generate. The model file is the artifact that survives it. It is XML, it lives wherever your code lives, and the next comparison starts from it rather than from another live connection.

What is the alternative to Liquibase?

Redgate Flyway is the command-line alternative most often set against Liquibase, and the difference between them is the format of the change. Flyway applies migrations written as SQL scripts, versioned, repeatable or baseline, and the migrate command compares the scripts it finds against the schema history table to work out which ones still have to run. That table records which migration was applied, when, and by whom[5]. Liquibase keeps changelogs in SQL, XML, YAML or JSON and works with 60+ databases, including relational, NoSQL and graph engines[4].

CapabilityDbSchemaRedgate FlywayLiquibase
Change is written asA diagram and a model fileNumbered SQL scriptsSQL, XML, YAML or JSON changelogs
Difference against a live databaseObject-by-object diffDrift report, EnterpriseCLI diff output
Runs headlessYes, through DbSchemaCLIYesYes
Diagram of the schemaYesNoNo

DbSchema sits in front of both without displacing either: you resolve the difference visually, export the DDL, and commit it into the repository the Flyway or Liquibase job reads. For the longer version of that argument, see Liquibase, Flyway or a visual schema compare.

What is the alternative to Lucidchart?

Lucidchart is a general diagramming application, and an entity-relationship diagram is one of the things people draw in it. A schema diagram is worth more when the tables in it come from the database and can be checked against it again a release later.

DbSchema reads the schema itself. It connects to SQL Server, PostgreSQL, MySQL and NoSQL engines over JDBC, draws the tables, columns, primary keys and foreign keys it finds, and saves the layout, the diagram groups and the comments in the model file so the arrangement survives being closed. From the same file it exports interactive HTML5, PDF or Markdown documentation through Diagram → Export HTML5 or PDF Documentation, with column descriptions readable as mouse-over tooltips in the HTML5 output. When the database moves ahead of the drawing, the comparison tells you exactly where.

The shortlist and why each is on it

Three tools cover the job on macOS and Linux, and they divide it by what you are trying to end up with.

ToolRuns onHow it comparesLicence
DbSchemaWindows, macOS, LinuxVisual diff against a model fileOne-time perpetual, or monthly
Aqua Data StudioWindows, macOS, LinuxSchema compare inside a database IDEAnnual per user, from $499
Redgate FlywayWindows, macOS, LinuxScripts replayed from source controlCommunity free, or Enterprise

DbSchema is the visual modeler of the three. It keeps the design in a file you commit, compares that file against any of the 100+ SQL and NoSQL databases it supports, generates the migration script, and exports the documentation the rest of the team reads.

Aqua Data Studio is a database IDE that carries schema compare alongside querying, administration and BI features, across more than 40 data source platforms. AquaFold lists the Standard edition at $499 per user and Ultimate at $699 per user on annual licensing, with two-year and three-year terms selectable on the same page and Enterprise Ultimate quoted by sales[8].

Redgate Flyway is the pipeline half: versioned SQL scripts, applied in order, tracked in the schema history table. It has no diagram, which is exactly why it pairs with one.

To run the comparison against your own instance, download DbSchema at https://dbschema.com/download.html and point it at the SQL Server database you compare today. Connecting, reverse-engineering, the diagrams and the SQL editor are free in Community; the saved model file, schema synchronization and the HTML5 documentation are Pro.

Frequently asked questions

What does Redgate SQL Compare cost next to DbSchema?

DbSchema Pro is sold monthly as well as outright, so the purchase page carries a subscription figure per user beside the one-time perpetual licence for the same edition, in your own currency and on separate tabs for Business, Personal and Universities & Students[3]. The section on what SQL Compare costs has Redgate's per-user figure and the extra licence its command line needs inside a pipeline.

How do I run a SQL Server schema diff on macOS?

Install DbSchema from the macOS .dmg, connect to SQL Server over JDBC, and compare the live schema against your saved model file. The same build is available as a .jar archive for any machine with Java 11 or later, which is the route on a Linux workstation with no installer packages.

What is the alternative to Liquibase for a visual diff?

DbSchema compares a design model against a live database and writes the migration SQL from the differences you select. It also opens two .dbs files at once and synchronizes between them, which is how you compare the schema on two branches with no database connected at all.

Can I compare SQL Server schemas on a Mac?

DbSchema runs natively on macOS and does the whole comparison there, with no Windows machine and no compatibility layer in the path. The Pro edition adds the schema synchronization and the saved model file; connecting and reverse-engineering the schema are free in Community.

Sources

  1. red-gate.com
  2. documentation.red-gate.com
  3. dbschema.com
  4. docs.liquibase.com
  5. documentation.red-gate.com
  6. dbschema.com
  7. dbschema.com
  8. aquadatastudio.com

Compare SQL Server schemas on macOS and Linux

DbSchema runs natively on Windows, macOS and Linux. It reverse-engineers a live SQL Server database, compares it against a saved model file and generates the DDL to close the gap. Schema synchronization and the saved model file are in the Pro edition; connect, reverse-engineer and interactive diagrams are free in Community.