Has anyone come up with a good technique for exporting data from large and/or complex queries?
Bubble’s built-in CSV export fucntionality is sorely lacking (unless I’m missing something), as it seems to allow dumping from only a single table (thing) at a time. The same is true of the data API.
And the approach used by @eli’s nifty CSV Creator plugin is, unfortunately, not well suited to large/complex queries either. (That’s no fault of the plugin per se; it’s just that Bubble chokes and barfs an error to the console because of a timeout.)
The only reliable way I’ve found is the Download CSV from RG plugin. The browser’s “Page Unresponsive” dialog appears, but it can be safely ignored, as the full RG is eventually rendered, and then the CSV can be saved, as the data are actually pulled from the DOM (rendered page) to save to a file.
The main problems are:
You have to fiddle with constructing a UI even when there’s no real need for one.
It can take a very long time to render the RG, and the page must be left open to do that - i.e. no way for it to operate in the background. (A query resulting in 740 rows took more than half an hour!)
Ideally, I’d like for the user to click a button and then be able to navigate away from the page while the export is handled in the background. A link or attachment would be emailed to them when the export was complete.
Again, a key feature is to be able to export relational data - not just a single Bubble data type (the contents of a DB table).
I’m wondering if there might be a way using the List
:format as text operator along with an API endpoint.
Has anyone developed a workable approach or have any ideas?