Partial serialization import behavior?

Is it possible to import a single serialized collection (instead of the entire serialized Metabase data) and NOT overwrite all the other collections?

Background: I'm using Metabase cloud. I've reached out to Metabase directly but I don't think the serialization functionality is limited to cloud, so I'm reaching out here as well in hopes the community might have some experience / advice.

We are migrating from Redshift to Snowflake. A common pattern for us is to have a Metabase model that is referenced by many questions (cards) (e.g. a "monthly kpis" model referenced by lots of different questions in a KPIs collection). Ideally I would be able to update the model to use Snowflake instead of Redshift and everything downstream would just automagically update, but that's not possible - each downstream card specifies its own database connection and there's no way to update this without rebuilding the entire card from scratch.

The Metabase support rep suggested using import/export serialization. I can export a collection at a time, but not everything (the request times out). Since I'm on Cloud, I can't use the cli. If I update the database in the data and then import the serialized data, will only the collection I imported be updated, or will this overwrite the entire contents of my Metabase instance?

Since api serialization is only available for paid plans I can't just spin up an instance and test. Any help / suggestions would be appreciated!!

It will only update the objects represented in yamls. If you import a single question yaml, only this question will be updated.

1 Like