Feb 7, 2023

Join improvements

Feb 7, 2023

We’ve made significant improvements to joins on views to support many more use cases for connecting data between tables.

First, you can now make arbitrary joins on your tables without the need for foreign keys in your database. This is especially useful for PlanetScale which doesn’t support foreign keys.

Next, we also now support nested joins, which let you join data across tables multiple levels deep. For example, you can create a view on “User”, which is joined through “Team”, which is joined on “Workspace”. This would let you get the name of the workspace that a user is part of.

Foreign key modal

We updated the way that foreign keys open their record details. Before, we used to open an entire table with filters applied to show a single record. Now, we open a modal with the record details nicely displayed as a form. This makes it easier to pop open the details, make changes if needed, then return to the original view.

As before, only workspace admins can open foreign key records. If you want to give non-admins access to nested data, you can join data on a view.

Manually run queries

We also added a simple option on queries to disable automatically running queries on open. This is useful for long-running queries, or queries that mutate data when run.

Other improvements and fixes

  • Added a confirmation dialog before deleting a section

  • Added option to add your own database right away during onboarding

  • Added option to add a connection from the “New” dropdown in the sidebar

  • Removed dismissible content on team pages

  • Improved performance of loading records in tables with over 1 million records

  • Improved app initial load performance

  • Updated styling of context menus to match dropdown menus

  • Updated private views to allow relations on views from other teams

  • Fixed sessions expiring randomly

  • Fixed connection credentials not showing as changed immediately after being updated

  • Fixed primary attribute icon background color

  • Fixed view relations not loading in some cases

  • Fixed loading spinner not being visible on buttons