Privacy First
Your database schemas very important. Do not paste them into random tools on the internet! But Jacques was built with a zero-trust architecture. Your SQL never leaves your computer.
What is Jacques?
Jacques is a specialized tool designed to "decontaminate" database schema dumps. It transforms verbose dump files into clean, readable, and developer-friendly SQL schemas.
Why use it?
Code Generation
Simplify your schema for tools like sqlc,
JOOQ, or Ent. Inlined
constraints and SERIAL types make for cleaner
generated code.
Migrations
Use decontaminated output as a baseline for new environments or as a clean starting point for migration tools.
Version Control
Keep your schema.sql in Git without the noise
of settings and session-specific configurations. Get clean,
meaningful diffs every time.
Core Transformations
Noise
Jacques strips away SET, GRANT,
REVOKE, and OWNER TO statements that
clutter dumps but aren't needed for application development.
Structural Folding
Constraints like PRIMARY KEY,
UNIQUE, and CHECK are folded
directly into CREATE TABLE, removing the need for
a long trail of ALTER TABLE statements.
Intelligent Sequences
Jacques identifies sequences used exclusively by a single
column and converts them to SERIAL,
BIGSERIAL, or SMALLSERIAL types
automatically.
Smart Comments
Jacques is quote-aware. It removes SQL comments while strictly preserving comments inside function bodies, strings, and quoted identifiers.
Identity & Generated Columns
Full support for modern PostgreSQL features including
GENERATED ALWAYS AS IDENTITY and
GENERATED ALWAYS AS (...) STORED virtual columns.
Programmable Objects
Preserves and cleans CREATE FUNCTION,
CREATE TRIGGER, and Row Level Security
(RLS) policies while normalizing schema prefixes.
Technical Philosophy
Jacques is built on the principle of Semantic Equivalence. Every transformation is presentation-only; the database structure produced by the cleaned SQL is identical to the original dump. A layered testing strategy involving external diffing tools to prove this equivalence. If you encounter any technical difficulties, please open an issue on GitHub →
Jacques?
"Jacques" is a referance to the French-accented cleaner shrimp from Finding Nemo, who decontaminates Nemo when he first enters the dentist's fish tank.
Pixar/Disney, please don't sue me. 🦐