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>
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
…etc (there are quite a few)
And these classes are triggered from below liquibase files.
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.
BooleanConceptChangeSet not only did the above, but also inserted the two global properties, it is why they are missing.