[OMRS 2.4.2 Upgrade] concept.true and concept.false global properties are missing in the OMRS 2.4.2 env

With OMRS 2.4.2 upgrade in Bahmni (talk thread), we see that the concept.true and concept.false global properties are not added to the opernmrs database. And we are referring these global properties in openmrs-core here

These global properties get added as part of below migration from liquibase-update-to-latest-2.0.x.xml file.

<changeSet id="20100517-1545" author="wyclif and djazayeri" dbms="mysql">
		<comment>Switch boolean concepts/observations to be stored as coded</comment>
		<customChange class="org.openmrs.util.databasechange.BooleanConceptChangeSet"/>				
	</changeSet>

This file got ignored on OMRS 2.4.2 env. Any specific reason why we don’t have this migration running on OMRS 2.4.2 env ?

Also we noticed the same thing with other CustomTaskChange implementations like

  • org.openmrs.util.databasechange.GenerateUuid

  • org.openmrs.util.databasechange.DisableTriggersChangeSet

  • org.openmrs.util.databasechange.AddConceptMapTypesChangeset …etc (there are quite a few)

And these classes are triggered from below liquibase files.

  1. liquibase-core-data-1.9.x.xml
  2. liquibase-update-to-latest-2.0.x.xml
  3. liquibase-update-to-latest-2.1.x.xml

We would like to know the reason why any of these implementation migrations are not carry forwarded to OMRS 2.4.2. Thanks !

@dkayiwa @ibacher @grace @angshuonline @gsluthra @n0man

Which OpenMRS platform version are you upgrading from? If you are upgrading from 2.1.6, that changeset should already have been run from this file: openmrs-core/liquibase-update-to-2.0.xml at 2.1.6 · openmrs/openmrs-core · GitHub

In other words, your 2.1.6 database should already have that changeset.

yes @dkayiwa this wouldn’t be a problem for someone who is already on Bahmni v0.93 (with OpenMRS 2.1.6 ) and upgrading to Bahmni v0.94 (to OpenMRS 2.4.2).

But this would be a problem for someone who setup Bahmni v0.94 for the first time, they wouldn’t get the above mentioned global properties. And this migration pointed here (commented it for the time being) is throwing liquibase migration failure error for the bahmni-core module, eventually Bahmni is not starting up.

Starting from version 2.4.0, we improved the speed of the openmrs startup, by starting with snapshot version of each previous major release and then the liquibase changesets for changes between. You can get details from this ticket: [TRUNK-4830] Avoid running legacy liquibase changesets - OpenMRS Issues

It turns out that most CustomTaskChange implementations were dealing with fixing exiting data or schema. This means that they were no longer needed, when we started with a snapshot of the database where they had already run.

Because BooleanConceptChangeSet not only did the above, but also inserted the two global properties, it is why they are missing.