Good morning, all. Long time user of liquibase, first timer here on the forums.
I was helping implement Liquibase in an Oracle shop, and stumbled across the concept that Liquibase’s ‘addColumn’ changeset will generate one ALTER TABLE per column we’re adding. Normally, that’s not an issue, but Oracle likes to commit every CREATE/ALTER/DROP, so we ran into the issue of someone writing a change that failed on the 2nd column of an block, thus stranding a new column in no-man’s land. Liquibase didn’t recognize it existed (it acted like the changeset didn’t go through), and the database was happy continuing to acknowledge we had one brand new column (and Oracle doesn’t make it easy to write ADD IF NOT EXISTS ddls)
The best workaround we could come up with was just putting one column per for now, but upon researching I saw that others were trying to rollup multiple columns into one DDL/SQL way in the past:
I wanted to ask if anyone else encountered this. If there’s any hidden liquibase workaround for Oracle yet. And if there’s any big gotchas before I open up an editor and attempt to write a patch for it