airavata-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Miller, Mark" <mmil...@sdsc.edu>
Subject RE: Database Version Control for Airavata
Date Tue, 27 Dec 2016 18:31:27 GMT
Thanks Anuj, For taking the time to send that, it was super helpful, and answered my questions.
Mark

From: Anuj Bhandar [mailto:bhandar.anuj@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 <mmiller@sdsc.edu<mailto:mmiller@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:marpierc@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.anuj@gmail.com<mailto:bhandar.anuj@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


Mime
View raw message