Challenge: Linking tables for mass export

Hello!

What’s going to be the best way to export data for user’s linking multiple tables (known as denormalization) for export?

The challenge being that this would need to support 1000s of rows.

I’m guessing the options are:

  • Build a table in Bubble (and export this one)
  • Use some external service?

PS - I’m aware of the ability to export via JSON/Formatted as text, the challenge is primarily the scale

Example use case?

Thanks @georgecollier ! We can use the use case in the image above but at a reasonable scale.

Example:

Exporting 5000 contracts to CSV, but we also need the city, region, subject and supplier information in the same CSV.

This is easy to do with :format as text and export via plugin:

{
  "contract_id": id,
  "contract_title": contract_title,
  "contract_amount":contract_amount,

  "subject": subject.name,
  "subject_category": subject.subject_category.name,

  "supplier": supplier.name,
  "supplier_type": supplier.supplier_type.name,

  "city": city.name,
  "region": city.region.name,

  "date": date
} 

But the challenge here is that for 5000 records, that’s an exponential amount of lookups (in this case 15,000)

Yeah a nested :format as text isn’t infinitely scalable, I’d probably go with something like:

  • Schedule API workflow on a list
  • Each iteration creates a ‘row’ for you CSV (whether that’s actual fields or a text field that has the row content, or a list of texts with one for each column doesn’t really matter)
  • the eventual export downloads that as CSV

I’m also facing issues with these denormalization problems in Bubble; currently, I believe it’s the most difficult feature to manage. There haven’t been any recent updates that make our lives easier with the Bubble database.

Thanks @georgecollier and @gabriel15 , will do some research and come back to you.

@gabriel15 I’m assuming you mean it’s difficult (not the easiest to manage)? :laughing: