Different behaviour Standalone and Platform

Hello Everyone!

I just tried to install the module radiologydcm4chee on:

OpenMRS Standalone 2 Last Build: 2015-09-21 14:40 Version: 1.11.4 Build 6ebcaf

and

OpenMRS Standalone 1.11.4 Last Build: 2015-09-21 20:38 Version: 1.11.4 Build 6ebcaf

When I came across the following issue: In “OpenMRS Standalone 1.11.4”, the deployment of the module fails in liquibase.xml because I try to install roles without uuids. Although “OpenMRS Standalone 2” is based on the exact same build everything works fine here. Here the error message:
Caused By: Error executing SQL INSERT INTOrole(description,role) VALUES ('The physician who refers the radiology order', 'Radiology: Referring physician'): Field 'uuid' doesn't have a default value:

So my assumption is, that there is a difference in the SQL Create Statement of “Role”.

Could someone please check the Create Statements about this?

1 Like

FYI, the current versions of our 2 products’ standalone editions are:

  • Reference Application 2.3.1 (Standalone Edition)
  • Platform 1.11.5 (Standalone Edition)

Are you getting the same problem on those newer releases?

Looks like you’re saving a role with no uuid, can you ensure that the role has a uuid before you save it?

I am saving a role without an uuid, that is the point I am trying to make: Trying to save roles without an uuid should behave the same way in all standalone editions.

Thanks for the suggestion. Yes, I am getting the same error.

uuid is a required field in the database, so it’s a guaranteed failure to try and save a role with no uuid.

I checked the CREATE statements, they are different. It is possible to add a role without uuid in Standalone Edition 2.3, because of

'uuid' char(38) DEFAULT NULL,

I created a JIRA issue about this:

OpenMRS software evolves, role.uuid was intended to be required, looks like the constraint was missing which was a bug but got fixed i think in 1.11. FYI different standalone versions have different Platform versions and different versions of Platform are going to behave differently which happens all the time because things new things get introduced while other get remove or bugs get fixed