How does Redash store query visualization definitions internally? If I want to generate dashboards programmatically, could I write to Redash’s db directly?
It’s all written to the widgets
table in the metadata db. You can write to this table directly but I wouldn’t recommend it. We don’t maintain any documentation of this API as it’s not really for human consumption
What you could do is design your dashboards with the UI and then copy the widget definitions with minor modifications (labels, colours, plot types … ) which would be less of a minefield.
Thank you.
How does one connect to the metadata DB in the downloadable AWS image from https://redash.io/help/open-source/setup ?
What code read from / writes to the widgets
table?
The passwords for the metadata db are written to the environment variables of your docker containers / Dockerfile. It will be different from one instance to the next.
There’s a widget resource handler. But that’s really unimportant. Because the widget JSON is basically taken wholesale from the front-end POST request and committed to the database. It doesn’t go through any transformations. So what you really want to see is the front-end code that reads / writes visualisation definitions.
Like I said: not really for human consumption.