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
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
- Multi-modal schema source — Layer local files over the live database so the model can include the changes you are actively shaping.
- Incomplete-model IntelliSense — Get help from rough DDL before it is valid enough to deploy; SQLly keeps that uncertainty visible.
- Smart foreign-key display values — Help foreign keys show the human-friendly value behind the id, not just another opaque number.
- Git modification times & DDL blame — Bring Git timing and authorship into the overlay when the history is part of the answer.
- Swap key lookup for name lookup — Type the name you know; SQLly can add the join and make sure the comparison still means what you intended.