Migrating entire Bubble backend to Xano

Options

I've built a micro ERP platform on Bubble and I want to move the backend to Xano. My goal is to have the flexibility to move the frontend elsewhere in the future if I need to as well. As such I think I need to move everything from the database including option sets.

I want to optimise the database to suit Xano's best practices with a clean slate while I can.

Can anyone advise what I should do regarding satellite data types? Are they still recommended or are they just an optimisation for Bubble's DB?

What should I do with the Option sets?
I think anything used for navigation should remain on Bubble, but anything linked to user data should move to Xano.

My app uses quite a few backend workflows including DB triggers and scheduled workflows.

Can anyone recommend good training material that might help accelerate my transition?

Cheers,
Rory

Tagged:

Answers

  • Michael Udinski
    Michael Udinski Administrator

    ADMIN

    Options

    Hi @Rory - Can you give some more insights on what a Satellite data type is in Bubble? I couldn't find anything in their documentation on this.

    Option sets are Bubble specific but definitely a cool feature. They are similar to Enums in Xano (defined values) but option sets are reusable across the database whereas with an Enum you would need to define the values each time. But you can also create a database table that has all the values, then you can use table references in other tables to point at the associated value in the related table. That way is you're resuing the same values you just need to define them one time.

  • Rory
    Rory Member
    Options

    Satellite data is a concept developed by the Bubble community as a way to optimise the performance of Bubble by reducing the amount of data displayed on page load. If you have a large list of items shown on your page, Bubble will load up everything in the DB associated with each item in the list.

    By segmenting the items data into multiple tables, Bubble is much more performant. i.e. if you want to view an item from the list on your page and display multiple photos with that item, you would create a new table for the photos and link them back to the parent table. That way the photos will only be loaded when you open the parent item from the list.

    It looks like I need to dig deeper into Enums. Thanks for pointing me in the right direction.

  • Ray Deck
    Ray Deck Trusted Xano Expert ✭✭✭
    Options

    As I understand it, the satellite data pattern is because Bubble doesn't let you pick the fields you want to return in a given context. Xano does.

    To achieve the goal, you have a couple of tools. First, the output tab of get record or query all records lets you pare down - and rename - the fields returned from a query. And you can reshape the data as you see fit using the function stack afterward. This difference between the data structure in the tables and that which is surfaced by the endpoints is an area Xano really shines.

    Complex data transforms are often part of the hardest 5% of no-code projects, so they are a frequent topic in the daily office hours at State Change Pro.