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