You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A Diagram tab in the database explorer lays out every table (columns, key markers, types) and draws its foreign keys, using dagre for layered left-to-right placement.
Pan and zoom with fit-to-view. Search highlights matching tables and their relationships. Click a table to browse its rows. Export the diagram as SVG.
Main gets a new db:schema call that reads the whole catalog in three queries (columns, primary keys, foreign keys) for PostgreSQL and MySQL/MariaDB:
Composite foreign keys keep their column pairing (pg_constraint by ordinal; MySQL grouped by constraint).
Databases beyond 300 tables are cut off, and the diagram says so.
The explorer's toolbar and results tabs moved into their own components, keeping DatabaseExplorer under control. The icon buttons have accessible names.
Tests cover schema assembly (truncation, composite keys), both catalogs, the layout maths, and the diagram (search, browse-on-click, export, empty and truncated states). The features page is updated.
Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.
Use unambiguous encoding for relationship tuple keys
src/main/ipc/database.ts:358
Using . as a tuple separator is ambiguous for valid quoted identifiers. For example, table a.b with constraint c collides with table a and constraint b.c, causing the two foreign keys to be merged into one corrupted relationship. Encode the tuple unambiguously.
Preserve relationship direction and labels in exported SVG
The exported paths omit both the arrow marker and e.label. As a result, the downloaded diagram loses relationship direction and column pairing; multiple foreign keys between the same tables become indistinguishable. Preserve the marker and escaped relationship label in the SVG.
This issue also appears on line 173 of the same file.
Prevent collisions in React edge keys
src/renderer/src/lib/erLayout.ts:94
This edge key can collide when table or constraint names contain dots (for example, a.b/c and a/b.c). Duplicate React keys can reconcile the wrong relationship when highlighting or re-rendering; encode the identifier tuple unambiguously.
Pluralize table and relationship counts independently
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Item 8 of the parity roadmap.
db:schemacall that reads the whole catalog in three queries (columns, primary keys, foreign keys) for PostgreSQL and MySQL/MariaDB:pg_constraintby ordinal; MySQL grouped by constraint).current_schema(), and primary keys skipINCLUDEcolumns, matchingtableInfofrom feat: edit, insert and delete database rows #18.DatabaseExplorerunder control. The icon buttons have accessible names.Tests cover schema assembly (truncation, composite keys), both catalogs, the layout maths, and the diagram (search, browse-on-click, export, empty and truncated states). The features page is updated.