Hi Abhinav,

I wrote up some notes on making database schema migration scripts here: 
https://github.com/apache/airavata/blob/master/modules/registry/registry-core/README.md

I tried to use OpenJPA's capability to generate schema migration scripts. 
Unfortunately I ran into a lot of issues, and I wouldn't recommend that 
approach.

More recently, with a different project, I've had a lot of success using 
Liquibase to automate generating database schema migration scripts.

One key principle that's important to practice, is Expand/Migrate/Contract. See 
for more information: https://www.martinfowler.com/bliki/ParallelChange.html. 
The idea is to introduce new functionality and migrate all clients to it before 
removing the old functionality.  I've written up a draft of how to apply this 
principle to database migrations, see attached file. But this principle can 
apply to API evolution and deployments as well.

Attachment: Airavata Deprecation_Migration Guidance.pdf
Description: Adobe PDF document


I hope this helps.

Thanks,

Marcus

> On Aug 4, 2022, at 5:58 PM, Abhinav Sinha <abhinav7.si...@gmail.com> wrote:
> 
> Hello Marcus, all,
>  
> I am working on a plan to automate custos database migration for baremetal 
> deployment. Isuru pointed out that similar work was done for Airavata. I am 
> reaching out to ask if you could share with me how the migration was done for 
> Airavata – or maybe point me to the scripts that were used?
>  
> Thanks,
> Abhinav

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to