Quantcast
Channel: Liquibase Forums
Viewing all articles
Browse latest Browse all 2993

Re : Allow multi-schema database installations without need for elevated (DBA) rights

$
0
0
I think that is a common problem and being able to control who executes each changeset is a good option. 

It would make the output of updateSql more complex because you wouldn't be able to execute that directly, but we could add comments in there when there is a change to who is running the changeSet. You couldn't collect the sql for each user in a separate file because the order can matter, it will still need to be a single sql file, just with comments that need to be watched for.

Rather than setting "runAs"  where you would define the username, I'm wondering if it should be "connection" where you set it to a key you define that maps to a separate connection which can have it's own username and URL. For example:

<changeSet id="1" author="Marek" connection="sys"> ...
<changeSet id="2" author="Marek" connection="backup_server"> ...
<changeSet id="3" author="Marek"> ...
<changeSet id="4" author="Marek" connection="standard_user"> ...

That would allow cross-database changeSets and also an abstraction on the usernames so if your usernames are different between dev and qa for example, it can still work.

It would add some confusion on what the default schema/catalog is. For example, if changeSet 1 above is a createTable and define a schemaName attribute, does liquibase create the table in the sys schema or the schema that the "default" connection uses?

Create a Jira issue and set the fix version to 4.0. I don't think it is a change that I would want to put into the 3.x versions, but it would be a good 4.0 feature.

Nathan


Viewing all articles
Browse latest Browse all 2993

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>