Accessing Saved Questions / Dashboards When Migrating DBs (i.e PG to Snow))

Hi Everyone -

We are migrating from Postgres to Snowflake and are trying to assess change management for our end users within Metabase. Our users currently query off of our Postgres DB in Metabase, which will require some syntax changes for Snowflake, but I am wondering if at least their saved questions / dashboards can be accessed when selecting Snowflake from the source dropdown (even if they won't run due to syntax adjustments). If so, are there certain base requirements to ensure they can at least access those saved items (i.e. can we have different schemas, table names, etc.)? If not, how have y'all approached a database migration in terms of transferring prior dashboard / question work done by others in an organization?

Note: we are not a paid Metabase user and do not want to query between databases, rather just want to ensure previously save questions are accessible when working off a new Snowflake DB.

Any thoughts / resources would be greatly appreciated. Thank you.

Hi @ds8315

Let's say you are migrating from similar structured databases (i.e. not SQLite to Mongo). As long as the entire database structure is the same (same names of schemas, tables and columns), then you can just change the database type in Admin > Databases, and it would generally work. You would need to update the SQL questions, since it's different syntax.

If you are migrating between very different syntax, then it's going to be a very lot harder and would require a lot of fiddling with Serialization and trying to make everything match.

But here's what you should do. Make a backup and try, then you'll see what fails and what doesn't.

Thanks for the reply! Is serialization only available for enterprise accounts? Regardless, I will create a back up and try. Even if some tables are different in our new database, would users not even see their saved queries at all, regardless of whether or not they would run?

@ds8315 Yes, Serialization is only available in Enterprise.
Your questions would still exist, but they would be broken if a table/column reference didn't exist and would need to be fixed manually.
It would be exactly similar to if you create a question like this select "col1" from "tbl1" and saved that and tried to view it again. Unless you have a column called col1 in table tbl1, then it would not run.

Understood! This is very helpful and not ideal the questions will be broken, but wanted to ensure they would still be saved / accessible when folks select the new DB. Appreciate all the info!

@ds8315 Please let me know if you know about any application, which has SQL queries written by you and automatically changes all those queries based on changes you make outside of that application (direct database changes). I doubt anything exists, since how is the application to automatically know what to change without making a possible incorrect SQL query, which might give incorrect results?