GSoC 2020 : OpenMRS should run on PostgreSQL
Primary Mentor | @Daniel Kayiwa |
Backup Mentor | @Juliet Wamalwa |
Assigned to | @Aman Mishra |
Background
We have a number of implementations who would like using PostgreSQL instead of MySQL. There is also another category who have already invested in PostgreSQL servers, where requiring them to install and learn another type of database server would not only be an un necessary waste of their time, but also a wastage of computer resources.
Purpose
The goal of this project is to add PostgreSQL to the list of databases that OpenMRS supports, out of the box.
Required Skills
Strong Java skills
Familiarity with Liquibase
A basic understanding of PostgreSQL
Objectives
OpenMRS Platform successfully runs on PostgreSQL
Create a CI build which breaks when liquibase changesets fail to run on PostgreSQL
Make changes as necessary, to the references application modules to ensure that they run on top of PostgreSQL.
Resources
- Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.
Documentation Done as a Part of Project - https://openmrs.atlassian.net/wiki/display/docs/OpenMRS+Setup+On+PostgreSQL
Talk Thread - https://talk.openmrs.org/t/gsoc-2020-openmrs-should-support-postgresql/28755
Project Status
OpenMRS Platform successfully runs on PostgreSQL - DONE - Task is complete and changes have been tested. Starting from platform 2.4.x we will offer PostgreSQL support.
Create a CI build which breaks when liquibase changesets fail to run on PostgreSQL - DONE - A Bamboo CI job has been added at https://ci.openmrs.org/browse/TRUNK-MASTER which runs the liquibase changesets against PostgreSQL db.
Make changes as necessary, to the references application modules to ensure that they run on top of PostgreSQL - DONE - Reference application now supports PostgreSQL. Changes were made in different modules wherever required and testing of application for different features as mentioned here Reference Application 2.10.0 is done.
All the required objectives of the project are complete and tested.