Copying data between apps

I have an interesting scenario that I wonder if anyone has any experience with. For reasons of data separation and row limitations, I have multiple different businesses operating on different apps which are delivering the same service (i.e. replicated the app multiple times to serve the app to each one of my customers).

now, whenever I make updates to the base app, I must replicate the app for each cusomter and migrate all of my customers onto the new versions of the app. As part of this, I must copy all of the data over from the old app into the new one.

I began moving all of my tables to google sheets as it allows me to have a google app script run and copy all the data accurately into the new sheet. What I noticed though, was glide frequently failed at any actions which had users updating data in the fields - especially when that data had a relation attached to it. As such, I moved some critical tables back to glide tables.

My question is, how has anyone else managed a similar issue? How do you easily copy data between apps?

Have you tried exporting your old data to an ODS file and importing that to your new app?

Also, do you mean you have to duplicate the base app every time you make a change, and migrate each customer to their respective copy?