Uploaded image for project: 'OpenMRS Core'
  1. OpenMRS Core
  2. TRUNK-1925 Support Multiple Databases in OpenMRS Installation and Update
  3. TRUNK-2652

Liquibase Updates Need to be Backward-Consistent, Yet Support All Databases

    XMLWordPrintable

    Details

    • Complexity:
      Medium

      Description

      Presently a lot of changesets in liquibase-update-to-latest.xml cause problems with postgres, mssql and oracle.
      1.) Setting incorrect data types (BOOLEAN-TINYINT/SMALLINT, INT(1), INT(11), DOUBLE PRECISION-DOUBLE)
      2.) Inconsistent column length with that in liquibase schema (privilege and role)
      3.) Escape chars different between MSSQL (T-SQL) and MySQL (ANSI SQL)
      4.) Ordering changesets for new installations
      5.) DROP CONSTRAINT before DROP TABLE for mssql (either as a liquibase extension or modifySQL)

      This all needs to be done in a careful way, so that existing changesets remain and new changesets are added to undo those older changesets. As a result of this we will get all databases, new or upgraded to be consistent and will be easier for people to move from MySQL to others (if attempted).

      The assumption here needs to be that everyone currently uses MySQL and thus, we will skip those problematic changesets for all other databases and they will only execute the new ones. The new ones will be executed by everyone including MySQL

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              sunbiz Saptarshi Purkayastha
              Reporter:
              sunbiz Saptarshi Purkayastha
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: