MariaDB schema diff — free to use

MariaDB Schema Diff.
Generate migrations.
Zero setup.

Paste two mariadb-dump --no-data outputs. Spot every table, column, index, and constraint change instantly. Get ready-to-run ALTER TABLE scripts for MariaDB — all in your browser.

No account required. No data leaves your device.

Built for MariaDB workflows

SchemaLens understands MariaDB-specific syntax that generic diff tools miss.

🐬

AUTO_INCREMENT Handling

Correctly detects AUTO_INCREMENT additions, removals, and starting value changes across schema versions.

🔤

CHARACTER SET & COLLATE

Preserves CHARACTER SET utf8mb4 and COLLATE clauses in column definitions so your migrations stay exact.

🔑

Constraints & Indexes

Primary keys, unique constraints, foreign keys, CHECK constraints, and FULLTEXT indexes — all compared semantically, not by raw text.

📝

Backtick Identifiers

Handles backtick-quoted identifiers (`order`) and reserved-word table names exactly like MariaDB does.

Virtual & Persistent Columns

Recognizes VIRTUAL and PERSISTENT generated columns. Warns when computed columns change in your schema.

🔒

Privacy First

Your schema never leaves the browser. Compare production MariaDB schemas safely without uploading sensitive table structures to a third-party server.

How it works

1

Export your schemas

Run mariadb-dump --no-data -u user -p old_db > old.sql on both databases.

2

Paste into SchemaLens

Copy the SQL into the two editor panes. Dialect is automatically set to MySQL/MariaDB.

3

Review the diff

See added tables, dropped columns, type changes, and constraint modifications highlighted in color.

4

Copy the migration

Export ALTER TABLE scripts, save as Markdown, PDF, or raw SQL. Run in staging, then production.

MariaDB migration examples

SchemaLens generates production-ready ALTER TABLE scripts for every change it detects.

Column type change

ALTER TABLE `users`
  MODIFY COLUMN `bio` VARCHAR(500);

Add a new column

ALTER TABLE `orders`
  ADD COLUMN `shipped_at` DATETIME;

Add a foreign key

ALTER TABLE `comments`
  ADD CONSTRAINT `fk_comments_post`
  FOREIGN KEY (`post_id`) REFERENCES `posts`(`id`);

Set a default value

ALTER TABLE `tasks`
  ALTER COLUMN `status` SET DEFAULT 'pending';

Related guides

Ready to diff your MariaDB schemas?

Join thousands of developers who use SchemaLens to catch schema changes before they hit production.

Start Comparing Free

Free for up to 10 tables. Pro starts at $12/mo.