Schema diagram
The console Schema tab renders a live diagram of every user table in your database — columns + types + primary keys, plus arrows between foreign-key references.
The diagram is generated directly from sqlite_master and
PRAGMA table_info / PRAGMA foreign_key_list; there is no
separate schema definition to maintain. Adding a column and
refreshing updates the diagram.
What you’ll see
Section titled “What you’ll see”- One card per table. Header has the table name and a column count badge. Body lists every column with its declared type and a key icon for primary keys.
- Curved arrows connect each foreign-key column to the referenced column in the parent table. Hovering a table dims unrelated relationships so you can read complex graphs.
- Relationships list below the diagram — same edges as a
flat text list (
orders.customer_id → customers.id), handy when you want to copy them.
What’s not there yet
Section titled “What’s not there yet”- No drag-to-rearrange. Tables auto-layout in a 3-column grid; position isn’t saved per user.
- No table filter. All user tables render. If you have 50+ tables and the page feels heavy, file an issue.
- No SQL view from the diagram. Click into the Tables
tab for
CREATE TABLEstatements and row data.
Same data is available programmatically:
GET /api/namespaces/:ns/databases/:db/schema-graphResponse shape:
{ "tables": [ { "name": "customers", "columns": [ { "name": "id", "type": "INTEGER", "pk": true, "notNull": true }, { "name": "email", "type": "TEXT", "pk": false, "notNull": true } ] } ], "foreignKeys": [ { "fromTable": "orders", "fromColumn": "customer_id", "toTable": "customers", "toColumn": "id" } ]}Read access required. The endpoint is cheap — runs the same PRAGMAs the SQLite shell does — so feel free to poll it from your own tooling.