Deployment to Multiple Schemas

Hi Gurus,

     I am a liquibase newbie and have just started trying out liquibase. I have installed the version 3.5.5 of liquibase and my database is Oracle 11GR2. The standard setup that we have for code is to put the objects in one schema OBJ$ and for code to go into APPS$ database accounts.

     How can I achieve this using liquibase?

     APPS$ would need to have private synonyms for all OBJ$ objects. Also we would need to be able to grant privileges to OBJ$ objects to APPS$ account. 

     Can these schema details be made generic? So that rather than hardcoding the APPS$ and OBJ$ schema details into my scripts, I can pass these as parameters?

     All my changeSets are basically invoking sqlFile elements. What are the disadvantages of using this approach?

Thanks and Regards

Nand Kishore Sagi

I’ll try to give some info on each of these, starting with your last question.

If you are just invoking sqlFile elements, the main thing you lose is the ability to have any hope of a changelog that works with different databases. That sounds like something that isn’t a goal at all, so no big loss. If you were using something like Datical DB, you would also lose the ability to use our changeset wizard, the forecasting support, and the rules engine. 

Next question - the general way to make things like schemas vary in different environments is to use changelog paramaters. There is some documentation on this at http://www.liquibase.org/documentation/changelog_parameters.html

Steve Donie
Principal Software Engineer
Datical, Inc. http://www.datical.com/