HI Mark,
Liquibase is a Database Version control tool, it gives you the ability
to rollback any changes (commit) on DataBase Schema just like GIT, but
it will only be useful for future builds, i.e. if you implement
Liquibase in current build, make changes on top of that, then those
changes can be rolled back, in short the version to be rolled back
should be present in the repository. Works just like GIT for source code.
But if you are referring to Airavata's scenario, i.e. we have two
version of DB schema's, one for Development and the other for
Production, then a tool like *DBDiff *(https://github.com/DBDiff/DBDiff)
compares the two different versions and generates Delta SQL scripts,
which can be run on the DB schema's, DBDiff has the ability to generate
both UP and Down Migration scripts.
I hope that I have answered the question, please revert back if you need
further details.
Thanks and best regards,
*Anuj Bhandar*
MS Computer Science
Indiana University Bloomington
+1 812 361 9414
On 12/27/2016 9:19 AM, Christie, Marcus Aaron wrote:
Mark,
Anuj might know more about this but I thought I would chime in. I
believe this is something that database migration tools can do. I
haven’t tried that though. Here’s Liquibase’s support for rollback
scripts: http://www.liquibase.org/documentation/rollback.html
Marcus
On Dec 25, 2016, at 8:49 AM, Miller, Mark <mmil...@sdsc.edu
<mailto:mmil...@sdsc.edu>> wrote:
Hi Anuj,
Very interesting. I had a question, rather than a vote. We have found
(at CIPRES) that we really wish we had the ability to make DB schema
changes and test them and roll them back if there is an issue with
what we tried. I wonder if this is something the new or existing DBs
can do in AIravata?
Mark
*From:*Pierce, Marlon [mailto:marpi...@iu.edu]
*Sent:*Friday, December 23, 2016 10:11 AM
*To:*dev@airavata.apache.org <mailto:dev@airavata.apache.org>
*Subject:*Re: Database Version Control for Airavata
+1 for looking into Liquibase. I’d be interested to hear other opinions.
Marlon
*From:*Anuj Bhandar <bhandar.a...@gmail.com
<mailto:bhandar.a...@gmail.com>>
*Reply-To:*"dev@airavata.apache.org <mailto:dev@airavata.apache.org>"
<dev@airavata.apache.org <mailto:dev@airavata.apache.org>>
*Date:*Friday, December 23, 2016 at 12:55 PM
*To:*"dev@airavata.apache.org <mailto:dev@airavata.apache.org>"
<dev@airavata.apache.org <mailto:dev@airavata.apache.org>>
*Subject:*Database Version Control for Airavata
Hello Dev,
Merry Christmas ! Hope you guys are doing good.
As a part of the Airavata 0.17 release, we are faced with a industry
standard problem of migrating our old master database to the new
Development database, the effort needed to manually write migration
SQL scripts is huge.
Hence for the current release, I'm relying on DBDiff
(http://dbdiff.github.io/DBDiff/) for generating Delta SQL scripts
for the entire database and manually write scripts for complex DB
schema changes.
To address the issue in future releases, I propose to implement a
database version control system like Liquibase
(http://www.liquibase.org/) for Airavata, this will help automate the
creation of delta scripts and also adding additional functionality
like backward compatibility between releases.
Please feel to suggest changes and also comment about the products
I'm using to accomplish these tasks.
Thanks and best regards,
*Anuj Bhandar*
MS Computer Science
Indiana University Bloomington
+1 812 361 9414