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