Question Luis Gallardo · May 18

How to handle upgrade of Data on Kubernetes

What is the recommended approach for handling upgrades in an InterSystems IRIS Kubernetes environment?

For example, if we deploy version 1.0.0 of our product and subsequently need to upgrade to 1.0.1, and this upgrade requires changes to SQL tables containing customer data.

The quickest solution that comes to mind is creating an 'upgrade method' that runs on startup to check if any data migration actions are required. However, I'm wondering if there are better solutions or established best practices for this.

Thanks in advance!

Product version: IRIS 2025.1

Comments

Luca Ravazzolo · May 19

Hi Luis,

You stand correct in that schema evolution is the responsibility of the application or solution developer. I would recommend making sure you version your solution, as you already suggested, and have a corresponding function to run the necessary conversion or evolution.

As you run your new pod/container carrying the new solution version code, you would mount your PVCs and check on the existing version of your schema in the PVC and then run the conversion.

As a schema evolution might take some time, you might want to make sure you inhibit DB activities via one of the switches we offer: https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.UI.Page.cls?KEY=GSTU_remote_switch

HTH

0