Duplicate collections and migrate them to different database connection

I'm trying to automate duplicaiton of collections per db connection.
The collection consists of models, charts and metrics. The charts and metrics are dependent on the respective models.

I want to duplicate them and connect to a new database connection with the same tables and schema such that, if I somehow modify the models to use the new database connection, the changes propogate to the respective charts and metrics.

I'm aware that, I can duplicate the models using the api calls by just modifying the database id. But, when I want to replicate the charts or metrics built using the question builder rather than native UI, that's where the problem is.

We don't want the charts or metrics to be strictly schema aware and make it a pain to duplicate. So, we can only use the question builder. Now with the question builder, each field that is being used is referenced by 'field_id's. So, mapping all field id's and replacing them is really tricky.

I know that serialization solves the same issue, but across different environment. Is there a way to do that in the same instance?

Is this something database routing can help with?

Looked into that option too. Creating a new database instance per customer is not possible for us. So database routing is not an ideal solution for us I believe.