The main problem I have with liquibase is that every change is designed to run exactly once. But only the most trivial changes work on the first try. How do you cope with that? Reset/flashback the database each and every time you make a mistake? Does every developer really has the privileges to do so?
@TheMagicofSQL9 күн бұрын
True. Getting DB changes right often takes many attempts. I think this is a problem however you manage your deployments though. Lots of database changes (e.g. creating tables, adding columns) require you to revert them if you make a mistake and want to do them differently. I'd write the change scripts in the dev environment and get these working. Then use the tool to deploy to test/UAT. If the test/UAT step fails you need some way to revert the changes. Liquibase does have a rollback option. Generally applying and reverting a schema change is not quite the same as starting fresh though, so can lead to differences in the prod release. Ideally the release tools will enable you to flashback if there's a problem or have some other way to revert the schema to a known good state (e.g. restore from backup/export).
@joaopauloblume693710 күн бұрын
excellent explanation, thank you
@victor_freire11 күн бұрын
Nice.
@robertchidlow701110 күн бұрын
Prior to ci/cd pipeline we had 3 environments. Dev uat and prod. Uat was a copy of prod. SQL scripts were written in such a way that we had a rollback script that would undo any table etc changes and recreate the original packages to pre update
@anniundcarsten10 күн бұрын
How many environments do you have now?
@robertchidlow701110 күн бұрын
@ still 3.
@AndrzejPauli10 күн бұрын
UPPER/lower-case question: I like case sensitivity but..I would choose NOT to write: select * from "TheVeryInterestingTable" Instead it would be cool if there was some flag to allow me to write: select * from TheVeryInterestingTable
@robertchidlow701110 күн бұрын
@@AndrzejPauli the default for oracle tables is uppercase. When you do the select it does not matter if you write in camel case as it is automatically upshifted
@AndrzejPauli9 күн бұрын
@@robertchidlow7011 I know default behavior. It just would be nice if we could choose how to treat names as case sensitive or not.
@joelmamedov40410 күн бұрын
You are keep saying "migrating database". But, all you are doing is changing application. Not even migrating application. Let alone database.