Create view based on another schema inside the same database


We have a database with multiple schemas. Multiple teams are managing different schemas. We would like to create a view based on a schema that is managed by some other team. I would prefer not to replicate the changelog in the code base, but simply point to it.

For instance, our schema is surveys_dev and we would like to create a view based on a table from pgm.

Can you elaborate on what you question is, or what issue you are having?

Our dev MySQL database looks like bellow. My team only manages survey_dev schema. We need to create a view based on pgm schema that is managed by a different team. How can this be achieved? How do we do this locally using liquibase, so we can test everything locally before deploying to dev environment.

Liquibase’s abilities inside the database are controlled by the underlying database privileges granted to the user you are connecting as.

So you would need to have the team that manages the “pgm” schema grant the privileges to the “survey_dev” schema.

When we run the app in dev environment, we have access to pgm and no issues connecting to it. How do I do this locally, when I run my database in docker container and my environment has no context of pgm? The only way I was able to do this was to create multiple schemas locally and create the table and view so I can have my queries run. But those tables have a lot of columns and it is out of my control if they change. How do I do this without adding the changelog for pgm locally?

I have it set up like this:

We control only survey_schema_main.xml. If I don’t create pgm_schema_changes.xml then my local environment fails with cannot find pgm schema.

Is there a way to say, in case of pgm use this external url and get me the details.

If schema A depends on schema B, then those teams need to be on close conversation about those dependencies when any change is made. These issue exist whether you are using Liquibase or not. Liquibase is just a script executor.

So we need to make a copy of their schema locally?