Skip to content

[Feature Request] Option to configure explorer hierarchy to: Database → Schema → {Tables, Views, Procedures, ...} #166

@GClunies

Description

@GClunies

Problem

When connecting to multi-schema databases (e.g. Snowflake, SQL Server, PostgreSQL), the current explorer groups object types at the top level with schemas nested inside each type folder:

Database
  └─ Tables
       ├─ [PUBLIC]
       ├─ [CORE]
       └─ ...

This is the inverse of how most database tools (SSMS, DBeaver, DataGrip) present the hierarchy, making it harder to navigate when working across multiple schemas.

Feature Request

Add an option to restructure the explorer so that schema is the primary grouping level under each database, with object types nested beneath:

Database
  └─ Schema
       ├─ Tables
       ├─ Views
       ├─ Stored Procedures
       ├─ Indexes
       └─ ...

Potential Solution Path

The data model already has all the necessary pieces — SchemaNode, FolderNode, TableNode, ViewNode, ProcedureNode, etc. all exist in sqlit/domains/explorer/domain/tree_nodes.py. The change would be in the tree-building logic inside sqlit/domains/explorer/app/, inverting the nesting order: iterate schemas first, then group object types beneath each schema.

This could be exposed as a configurable option (e.g. in ~/.sqlit/) and applied selectively per adapter, preserving the current flat behavior for databases that don't support schemas (e.g. SQLite).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions