I’m new to Liquibase so forgive the naive question…
I’m using an Oracle database. That is unlikely to change any time soon. I’m trying to put together some Liquibase changeSets and a number of the tables use things like check constraints, triggers, etc.
Seems there are two ways to manage that using Liquibase. Firstly, I can use the SQL tag and include the Oracle specific SQL. This seems easiest and quickest (the SQL already exists) so that’ll be the course I take I suspect.
However, I appreciate there are benefits from using the Liquibase tags - deploying to a different RDBMS for example - so was wondering if I ought to be considering the Oracle extension instead? Seems to be doing that is pretty much just rewriting the existing SQL - as presumably those extensions do not support alternate RDBMSs so what would I gain by going through that process? Rollback maybe?
Does it matter much if I just wrap a load of existing SQL in Liquibase XML?
yes, the benefit of using the Oracle extension is that, where possible, rollback actions are generated automatically. However, at our organization, we use a mix of Oracle-Tag and hand-written SQL nevertheless because we like our rollbacks to be more precise. An example is this:
You’re welcome, but please keep in mind that I am a Liquibase-beginner, too But so far, I can say that it works pretty good in our project. The only feature we are really missing is Liquibase being able to use different connections (=accounts) for different schemas.