Postgres and multi-tenancy?

Now that Bubble is using Postgres will the schemas functionality allow creation of multi-tenant applications? A lot of users (including me) really need this.

Would it be possible for you guys to put together a plugin in the Bubble store that would allow turnkey multi-tenancy with a choice of either subdomains or user account data separation? Something like the Ruby on Rails Apartment gem would be very helpful. I’m sure other Bubble users would also be happy to license a ready to go multi tenancy plugin.

So, this is actually how it works behind the scenes: each app’s data is stored in its own schema in postgres.

To have multiple clients each with their own version of the same app, we support sub-apps, where you have a master app that you edit, and can push changes to child apps, each of which can be hosted at their own domain name. It’s a feature on our Team plan.

Does that get at what you’re trying to do?

Yes, I think so. Can’t wait to try it.

Hi Josh,

I hope its okay that I add a question to this thread.

You mentioned that that with sub-apps, you can push changes to child apps. This is a wonderful capability.

My question is this:

Can you pick and choose what functionality you push to a sub-app, or do you need to overwrite the sub-app entirely with the contents of the master app?

For example, if I have created some bespoke functionality specifically for one child app, I would hope to need to maintain that funtionality in the child app itself. And when I make a change that would benefit all of the child apps, I would hope to be able to maintain the master app and push only that functionality across the children?

Thanks in advance!

Cheers,
Andrew

Hey, so unfortunately there isn’t a way of doing that in an automated way. The automatic pushing of stuff to child apps only works if you want all the child apps to be identical to the master app. If you want a bunch of similar apps, what you can do is copy the parent app, and then copy-paste new pages / bits of functionality as you add them.

1 Like

@josh , could we get some more information about how we manually could push changes from a master app to a child app. Imagine a scenario where the sub app is running in production with customer data. It`s all too abstract for me now so I would appreciate the insights.

You do this from the editor. When you push changes, the app object of the children is replaced by the master, but the user data doesn’t change.