Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Schema AtlasNew to Visual Studio Code? Get it now.
Schema Atlas

Schema Atlas

GiovanaPR22

|
1 install
| (1) | Free
Turn Prisma, TypeORM, Drizzle, JPA, Liquibase and Flyway schemas into interactive ER diagrams — no database connection, no leaving VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Schema Atlas

ERD diagrams for your schema and migration files — auto-arranged like DBeaver, freely draggable like draw.io — without leaving VS Code.

Schema Atlas: opening a diagram, dragging a table, clicking one for details

Schema Atlas reads the schema and migration files already in your repository — Prisma, TypeORM, Drizzle, Hibernate/JPA, Liquibase, Flyway — and turns them into an interactive ER diagram. No database connection, no leaving the editor, no config beyond opening the folder.

Install

Search Schema Atlas in the Extensions view (Ctrl+Shift+X / Cmd+Shift+X), or run:

ext install GiovanaPR22.schema-atlas

What it does

Detects your schema automatically. Open a workspace containing a supported schema and a Database Explorer appears in the sidebar, listing tables, columns, enums and anything found while parsing.

Draws an ERD that behaves like two tools at once. Open the diagram and it arranges itself, the way DBeaver does. Drag a table and it stays exactly where you put it, the way draw.io does — no mode to switch on. Positions save to .vscode/schema-atlas.layout.json, which you can commit so your team shares one layout. Auto Layout puts everything back in order when it gets messy, and can be undone.

Shows the real relationships. Crow's-foot markers come straight from the parsed cardinality (1:1, 1:N, N:1, N:N), so the picture cannot disagree with the schema. Primary, foreign and unique keys are marked per column.

Explains a table when you click it. A side panel lists columns with types and nullability, relationships in both directions, indexes, and the doc comments from the schema itself. "Open in editor" jumps to the line that declares it.

Exports. PNG and PDF for sharing, SVG for documentation, a self-contained HTML page with a data dictionary, JSON for other tools, Mermaid for a README, and .drawio for further editing — all at the coordinates you see on screen.

Supported formats

Format Reads
Prisma model, view, enum, @id/@@id, @unique/@@unique, @relation, @map/@@map, @@index, @db.* native types, /// doc comments
TypeORM @Entity, @Column and the primary/date/version column decorators, all four relation decorators, @JoinColumn/@JoinTable, @Index/@Unique, columns inherited from a base class
Drizzle pgTable/mysqlTable/sqliteTable, the column builder chain (.primaryKey(), .notNull(), .unique(), .default(), .references()), index/uniqueIndex/primaryKey in the third argument, pgEnum
Hibernate / JPA @Entity, @Table, @Id, @Column, all four relation annotations, @JoinColumn/@JoinTable, @MappedSuperclass inheritance, @Transient, indexes/unique constraints, Javadoc
Liquibase XML, YAML and JSON changelogs, include/includeAll, changeset replay across table/column/constraint/index changes, plus raw <sql> blocks
SQL Flyway migrations (ordered numerically), numbered migration folders, and standalone scripts — CREATE/ALTER/DROP TABLE, constraints, indexes, enums

Commands

Command Re-reads files Changes positions
Schema Atlas: Open Diagram — —
Schema Atlas: Refresh Schema yes no — your layout is kept
Schema Atlas: Auto Layout no yes — discards manual positions and rearranges everything (undoable)
Schema Atlas: Export Diagram... — —

Nothing here changes what's on screen without telling you first. Editing a schema file doesn't trigger a silent rebuild — a banner and an amber row in Database Explorer wait for you to click Refresh Schema, and your saved positions survive it. Auto Layout discards manual positions too, but offers an undo right after. Anything a parser can't read shows up in the Problems list instead of just disappearing.

Settings

Setting Default Purpose
schemaAtlas.parsers.enabled all six Which formats to look for
schemaAtlas.prisma.schemaPath (auto-detect) Explicit schema.prisma path
schemaAtlas.typeorm.include ["**/*.entity.ts"] Globs for TypeORM entity files
schemaAtlas.drizzle.include ["**/schema.ts", …] Globs for Drizzle schema files
schemaAtlas.jpa.include ["**/*.java"] Globs for Java sources — narrow this on large projects
schemaAtlas.liquibase.changelogPath (auto-detect) Explicit master changelog path
schemaAtlas.exclude node_modules, dist, build, out Never scanned
schemaAtlas.maxFileSizeKb 5120 Files above this are skipped and reported
schemaAtlas.maxFiles 500 Cap on files read per parser run
schemaAtlas.layout.file .vscode/schema-atlas.layout.json Where manual positions are stored

Privacy

Everything happens on your machine. The extension reads files, parses them, and draws — it never connects to a database, never runs your code or your migrations, and makes no network requests of any kind. The webview's content security policy has no connect-src at all, so the diagram page couldn't phone home even if something tried. See docs/SECURITY.md.

Contributing

Want to add a parser, poke at the architecture, or run the six example workspaces this repo ships with? That's all in docs/CONTRIBUTING.md — kept out of this file on purpose, since this one is what you saw before you installed.

License

MIT — see LICENSE.md.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft