Skip to content

Metadata Support in Tables #404

Open

Description

@rentalhost

SQLite is amazing, but it lacks certain features that aid in data organization, particularly regarding table structure. I’d like to suggest the possibility of Outerbase Studio storing metadata information beyond what native SQLite supports.

Since native support is unavailable, the idea is to save this metadata either in the user’s session or on the platform itself.

Here are two initial suggestions:

Comments on Tables and Columns

Allow tables and columns to have comments. This would improve data comprehension and organization, especially for tables with greater complexity. These comments could be extracted in SQL CREATE statements as standard annotations alongside tables or columns. During imports, this information could also be restored.

Image

Column Reordering

SQLite does not allow reorganizing columns after they are created, which limits our ability to arrange data for better readability. For example, suppose you group data by similarity (e.g., index, direct attributes, metadata, timestamps) but later need to add a new direct or a new timestamp attribute. It will always appear at the end of the table because SQLite doesn’t support inserting columns between existing ones. This increases reading difficulty, as the information seems misplaced.

The solution would be to enable visual column reorganization without altering the native structure.

For example, imagine creating a users table that initially looks like this:

id | name | password | updatedAt  

If we need to add two new fields, email and createdAt, SQLite would store them as:

id | name | password | updatedAt | email¹ | createdAt²  

However, with visual reorganization, the table could instead be displayed as:

id | name | email¹ | password | createdAt² | updatedAt  

Activity

  1. invisal commented on Mar 13, 2025

    @invisal
    Collaborator

    The column reordering is interest case and should be very easy to implement. I can implement it during this week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions