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?

A privacy-first schema diff tool. No account required.

Start Comparing Free

Free forever — unlimited tables. Pro power features — $39 once.