QUOTE
Our stack is Java, but I'm not looking for Java specific tool, and the we're using Oracle database.
I also using java + oracle
So you are using SVN huh? I used it 4 years ago.
since it just like cvs revision which I mean revision per file (not like git, revision per commit)
So the trick is, create list of deployment list (I called it as deploy.files)
deploy.files will contain
CODE
/sql/update/patch/employee_patch.sql r2.0
and my deployer (I called it as deployer.sh), will do check what is my current version (of employee_patch.sql) on server
if not existing, OK.. continue
if local modified..NOK..abort!
if not modified and not updated..OK.. capture the rev and create rollback.files...continue
rollback.files will contain
CODE
/sql/update/patch/employee_patch.sql r1.0
so my deployer.sh will execute my ugly function (based on file path and extension) together with sqlplus. something like this
CODE
local MAKE_RETURN="-1"
MAKE_RETURN=$(exit | sqlplus -S "$userName"/"$password" @"${filePath}" >> "${DEPLOYMENT_DIR}/${TASK}/$LOG_DIR/${SQL_LOG}")
and check the error, if error show on my deploy log, rollback!
This post has been edited by RNM: Jun 17 2019, 04:02 PM