Thanks Anuj, For taking the time to send that, it was super helpful, and 
answered my questions.
Mark

From: Anuj Bhandar [mailto:bhandar.a...@gmail.com]
Sent: Tuesday, December 27, 2016 10:23 AM
To: dev@airavata.apache.org
Subject: Re: Database Version Control for Airavata


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


Reply via email to