Skip to content

feat(web): allow using `sql-studio` as database browser

SQL Studio is an excellent new SQLite browser written in Rust, which has a nice interface, some interesting out-of-the-box visualisations for the database, support for a number of other platforms, as well as being built as a single static binary.

As a static binary, this simplifies the ability to deploy dmd-web with a more batteries-included SQLite browser than the embedded one.

SQL Studio is built with a Javascript heavy frontend, whereas the embedded browser and Datasette have very little Javascript, so can be run as server-side applications, so this may not be applicable for everyone.

We shouldn't make this mutually exclusive with Datasette, as it may be useful to run both - for instance on the demo site.

We should provide a fallback page when the SQL studio URLs aren't wired in, especially in cases that the application was once enabled with SQL Studio and then it was disabled.

This requires a minimum of sql-studio v0.1.17.

By providing the --base-path argument, client-side requests (i.e. to the API endpoint) will go through the "public facing" URL i.e. how dependency-management-data's /sql-studio path. The base application is not served from that location, so we need to make sure we use the Director functionality to rewrite the request URL to strip that prefix.

Closes #588 (closed).

Edited by Jamie Tanna

Merge request reports

Loading