Sqldef: Idempotent schema management tool for MySQL, PostgreSQL, SQLite

New tool promises easier database changes; devs split between “finally” and “no thanks”

TLDR: Sqldef compares database designs and writes the change steps for popular systems, aiming to cut mistakes. The crowd split fast: some call it a lifesaver, others say they’d rather hand-write scripts or use ChatGPT, with side-eye at paywalled rivals—trust and simplicity are the real test.

Meet sqldef, a command-line helper that compares two database blueprints and writes the steps to make one match the other. In plain English: it’s a “spot the difference” for your data’s house plan, and it works with big names like MySQL, PostgreSQL, SQLite, and even SQL Server. On paper, it’s tidy. In the comments? Gloves off.

One fan slammed the panic button in a good way: they “saved the link for emergencies” and blasted it to their whole team—like a fire extinguisher for late-night database chaos. But a skeptic immediately asked the room: why not just write the tiny change yourself? Another commenter, scorched by Microsoft’s tools, called them an “abominable garbage fire” and warned that real-life changes still need careful steps like renames and data fill-ins—no magic wand here.

Then came the plot twist: AI. One dev casually dropped that they’ve been using ChatGPT to write these changes and “it works shockingly well.” Meanwhile, another voice worried about rivals drifting from open-source into paywalls and messing up the order of changes—cue the “who do we trust?” drama. The vibe: sqldef looks promising, but the crowd is split between “automate it,” “do it by hand,” and “let AI cook,” with a side of open-source anxiety. Grab your popcorn—database difference has never been this spicy.

Key Points

  • Sqldef is a CLI tool for diffing two SQL schemas.
  • It is used to manage schema migrations using standard SQL DDL statements.
  • The tool emphasizes idempotent schema management.
  • Supported databases include MySQL, MariaDB, TiDB, PostgreSQL, SQL Server, and SQLite/SQLite3.
  • It targets relational database environments across multiple systems.

Hottest takes

“abominable garbage fire” — Pxtl
“Isn’t it much quicker to write a one line migration…?” — dewey
“it works shockingly well” — nodesocket
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.