OPENMRS SHOULD SUPPORT POSTGRESQL - TRUNK-4881
|------TRUNK-4882, OpenMRS Platform shoulf support PostgreSQL, Following are the subtasks to be done ( Many other subtasks may be added along the way ) :
| |--------- Add required support for initialization like setting drivers, database specific queries in initilization filter for PostgreSQL. | |---------Add the required foreign key on delete constraints in liquibase changesets as hibernate relies on db fot these constraints. | |-------- Add changeset for adding ‘fuzzystrmatch’ extension in PostgreSQL since this is required for soundex. | |--------Add liquibase changeset to update the sequences value after all the insertions being done through core data changesets. This is required since PostgreSQL sequences do not increment when insertion is done with value of Id provided as done in core data change sets. | |---------For backward compatibility of sequences after hibernate 5 for db relying on tables for sequences add property => hibernate.id.new_generator_mappings=false | |--------For certain HibernateDAO classes we need to properly map them to their respective sequences created via liquibase changesets. | |-------Add code check so that DisableTriggersChangeSet.java and EnableTriggersChangeSet.java does not access information_schema tables. | |-------Remove order_by clauses in getEncountersByVisitsAndPatientCount() in Hibernate Encounter DAO as this involve use of aggregate function over order_by clause. | |--------Hibernate session execution of queries is not proper in case of PostgreSQL so when session.get(xyz.class), there is no record in the db and hence an error is raised. Resolve this issue. | |--------Correct the liquibase changesets so that they don’t make use of 0 / 1 for boolean values as PostgreSQL does not recognize this.
All this will be done before phase 2 evaluations. Till phase 1, proper initialization and a certain number of admin section functionalities will be ready for demo. Hopefully till phase 2 openmrs-core will be working atop PostgreSQL seamlessly
Any suggestions are welcomed