Multi-modal schema

Bring live databases, local DDL, work in progress, and Git context into one useful picture.

A live database is the truth today, but it is rarely the whole story. Start there, then layer in local files, work in progress, and Git history to explore the schema as it is heading - with the uncertainty kept visible.

One model, several sources

SQLly does not keep a separate “design” model beside the real one. There is a single schema model, and it is assembled from every source you have given it - connected databases and a folder of SQL files - with each object remembering where it came from. That is the whole idea behind this section: the same completion, validation, and navigation work whether an object exists on the server, in your branch, or only in a sketch you are still typing.

Multi-modal source

Live databases plus local DDL, merged with a stated rule for conflicts - and drift you can list.

Incomplete models

Help from DDL that does not parse cleanly yet, with every recovered assumption recorded.

Friendly key values

Show the name behind an id rather than the id.

Git times & blame

Bring authorship and history into the picture when the history is part of the answer.

The rule that makes it safe

Uncertainty is carried, never flattened. An object knows its provenance (which profile, or which file, hash, and span), its fidelity (parsed exactly, or recovered with listed assumptions), and whether it sits inside a region that failed to load. Anything built on the model - a completion, a squiggle, a plan - can therefore tell the difference between known, inferred, and unknown, instead of treating all three as facts.

The honest consequence: a query that the overlay approves can still fail against the live database, because the overlay knows about your branch and the server does not. SQLly keeps that distinction in front of you rather than hiding it.

In this section