|
|
|
|
|
by vunderba
565 days ago
|
|
Because it does exist, but it's not free. Jetbrains Datagrip has been around for a decade and has connectors for most database archetypes (mongo, sql, redis, duckdb, etc). Biggest limitation right now is its lack of support for vector style databases like Lance, qdrant, etc. |
|
Not only that, but the SQL support works for embedded strings in programs written in other languages such as Go. So it knows that some statement conn.Exec("SELECT ...") is SQL and syntax-highlights it, performs schema validation and autocompletion inside the string literal. Not only that, but you can open the string literal as a separate editor and edit it, including doing things like "reformat", which was an unexpected delight when I discovered it.
It's this kind of "feature stacking", which features working organically with each other, that makes Jetbrains IDEs so damn good.
But the basic database tools are also superb. Its table view is really fast. It has syntax highlighting (e.g. if a column value is JSON), live editing (including the ability to open a column value as an editor, in which case you get all the usual syntax tools), and even graph rendering with support for multiple data series and grouping in a single graph.
There is also excellent support for exporting data. You can mark a bunch of result rows and copy them as CSV or as SQL INSERT statements, or you can save the entire result to a file. This is how I often export data from BigQuery, as it's much more convenient than Google's own tooling (the web UI is particularly bad, requiring that you export the query result to a GCS bucket first).
These database UIs aren't technically difficult to do. But somehow nobody else seems capable. The closest I can think of is Microsoft's tooling around SQL Server, which is pretty slick, albeit MSSQL-specific. I often wonder how Jetbrains, which is a pretty small company, can be so effective and produce such an incredibly feature-rich product portfolio.