Bahmni Core and Elis Atom Feed Not Starting After Update to 0.88

I upgraded Bahmni From 0.82 to 0.88 and When I start Services I See this following error in log.

    NFO 3/27/17 3:17 PM:liquibase: Reading from `liquibasechangelog`

SEVERE 3/27/17 3:17 PM:liquibase: Change Set liquibase.xml::bahmni-core-201608011234::Hanisha, Vinay failed.  Error: Migration failed for change set liquibase.xml::bahmni-core-201608011234::Hanisha, Vinay:

     Reason: 

          liquibase.xml : SQL Precondition failed.  Expected '0' got '366'

:

          Caused By: Preconditions Failed

liquibase.exception.MigrationFailedException: Migration failed for change set liquibase.xml::bahmni-core-201608011234::Hanisha, Vinay:

     Reason: 

          liquibase.xml : SQL Precondition failed.  Expected '0' got '366'

:

          Caused By: Preconditions Failed

at liquibase.changelog.ChangeSet.execute(ChangeSet.java:260)

at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:27)

at org.openmrs.util.DatabaseUpdater$1OpenmrsUpdateVisitor.visit(DatabaseUpdater.java:189)

at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:58)

at org.openmrs.util.DatabaseUpdater.executeChangelog(DatabaseUpdater.java:218)

at org.openmrs.module.ModuleFactory.runLiquibase(ModuleFactory.java:1024)

at org.openmrs.module.ModuleFactory.startModuleInternal(ModuleFactory.java:728)

at org.openmrs.api.context.Daemon$1.run(Daemon.java:74)

Caused by: liquibase.exception.PreconditionFailedException: Preconditions Failed

at liquibase.precondition.core.AndPrecondition.check(AndPrecondition.java:42)

at liquibase.precondition.core.PreconditionContainer.check(PreconditionContainer.java:199)

at liquibase.changelog.ChangeSet.execute(ChangeSet.java:249)

... 7 more

INFO 3/27/17 3:17 PM:liquibase: Successfully released change log lock

27-03-2017 15:17:10 [WARN ] ModuleFactory - Error while trying to start module: bahmnicore

org.openmrs.module.ModuleException: Unable to update data model using liquibase.xml. Module: BahmniEMR Core OMOD

at org.openmrs.module.ModuleFactory.runLiquibase(ModuleFactory.java:1034)

at org.openmrs.module.ModuleFactory.startModuleInternal(ModuleFactory.java:728)

at org.openmrs.api.context.Daemon$1.run(Daemon.java:74)

Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set liquibase.xml::bahmni-core-201608011234::Hanisha, Vinay:

     Reason: 

          liquibase.xml : SQL Precondition failed.  Expected '0' got '366'

:

          Caused By: Preconditions Failed

at liquibase.changelog.ChangeSet.execute(ChangeSet.java:260)

at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:27)

at org.openmrs.util.DatabaseUpdater$1OpenmrsUpdateVisitor.visit(DatabaseUpdater.java:189)

at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:58)

at org.openmrs.util.DatabaseUpdater.executeChangelog(DatabaseUpdater.java:218)

at org.openmrs.module.ModuleFactory.runLiquibase(ModuleFactory.java:1024)

... 2 more

Caused by: liquibase.exception.PreconditionFailedException: Preconditions Failed

at liquibase.precondition.core.AndPrecondition.check(AndPrecondition.java:42)

at liquibase.precondition.core.PreconditionContainer.check(PreconditionContainer.java:199)

at liquibase.changelog.ChangeSet.execute(ChangeSet.java:249)

... 7 more

    27-03-2017 15:17:10 [INFO ] api - In method AlertService.saveAlert. Arguments: Alert=Alert: #null, 

    27-03-2017 15:17:10 [INFO ] api - Exiting method saveAlert

Please Help in Resolving The Problem. I have Tried Reinstalling Of Bahmni ERM But it didnt help.

Thank You

Every visit should have location associated with it. If there are some visits which does not have location then above migration will fail. So you need to add location for all visits. Please refer to this link for setting up visit location https://bahmni.atlassian.net/wiki/display/BAH/Visit+Location

@hanishap After following your instruction I m not getting that Error,Now it shows a different Error Related to Stored Procedure. INFO 3/27/17 4:10 PM:liquibase: Reading from liquibasechangelog

SEVERE 3/27/17 4:10 PM:liquibase: Change Set liquibase.xml::bahmni-core-2016092714-possible-75::Panakaj, Hanisha failed.  Error: Error executing SQL call add_concept(@concept_id, @concept_name_short_id, @concept_name_full_id, 'Cured Diagnosis', 'Cured Diagnosis', 'N/A', 'Misc', true): PROCEDURE openmrs.add_concept does not exist

liquibase.exception.DatabaseException: Error executing SQL call add_concept(@concept_id, @concept_name_short_id, @concept_name_full_id, 'Cured Diagnosis', 'Cured Diagnosis', 'N/A', 'Misc', true): PROCEDURE openmrs.add_concept does not exist

at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:62)

at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:104)

at liquibase.database.AbstractDatabase.execute(AbstractDatabase.java:1091)

at liquibase.database.AbstractDatabase.executeStatements(AbstractDatabase.java:1075)

at liquibase.changelog.ChangeSet.execute(ChangeSet.java:317)

at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:27)

at org.openmrs.util.DatabaseUpdater$1OpenmrsUpdateVisitor.visit(DatabaseUpdater.java:189)

at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:58)

at org.openmrs.util.DatabaseUpdater.executeChangelog(DatabaseUpdater.java:218)

at org.openmrs.module.ModuleFactory.runLiquibase(ModuleFactory.java:1024)

at org.openmrs.module.ModuleFactory.startModuleInternal(ModuleFactory.java:728)

at org.openmrs.api.context.Daemon$1.run(Daemon.java:74)

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: PROCEDURE openmrs.add_concept does not exist

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

at com.mysql.jdbc.Util.getInstance(Util.java:386)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2819)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2768)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:949)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:795)

at liquibase.executor.jvm.JdbcExecutor$1ExecuteStatementCallback.doInStatement(JdbcExecutor.java:92)

at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:55)

... 11 more

INFO 3/27/17 4:10 PM:liquibase: Successfully released change log lock

27-03-2017 16:10:44 [WARN ] ModuleFactory - Error while trying to start module: bahmnicore

org.openmrs.module.ModuleException: Unable to update data model using liquibase.xml. Module: BahmniEMR Core OMOD

at org.openmrs.module.ModuleFactory.runLiquibase(ModuleFactory.java:1034)

at org.openmrs.module.ModuleFactory.startModuleInternal(ModuleFactory.java:728)

at org.openmrs.api.context.Daemon$1.run(Daemon.java:74)

Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set liquibase.xml::bahmni-core-2016092714-possible-75::Panakaj, Hanisha:

     Reason: liquibase.exception.DatabaseException: Error executing SQL call add_concept(@concept_id, @concept_name_short_id, @concept_name_full_id, 'Cured Diagnosis', 'Cured Diagnosis', 'N/A', 'Misc', true): PROCEDURE openmrs.add_concept does not exist:

          Caused By: Error executing SQL call add_concept(@concept_id, @concept_name_short_id, @concept_name_full_id, 'Cured Diagnosis', 'Cured Diagnosis', 'N/A', 'Misc', true): PROCEDURE openmrs.add_concept does not exist:

          Caused By: PROCEDURE openmrs.add_concept does not exist

at liquibase.changelog.ChangeSet.execute(ChangeSet.java:347)

at liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:27)

at org.openmrs.util.DatabaseUpdater$1OpenmrsUpdateVisitor.visit(DatabaseUpdater.java:189)

at liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:58)

at org.openmrs.util.DatabaseUpdater.executeChangelog(DatabaseUpdater.java:218)

at org.openmrs.module.ModuleFactory.runLiquibase(ModuleFactory.java:1024)

... 2 more

Caused by: liquibase.exception.DatabaseException: Error executing SQL call add_concept(@concept_id, @concept_name_short_id, @concept_name_full_id, 'Cured Diagnosis', 'Cured Diagnosis', 'N/A', 'Misc', true): PROCEDURE openmrs.add_concept does not exist

at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:62)

at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:104)

at liquibase.database.AbstractDatabase.execute(AbstractDatabase.java:1091)

at liquibase.database.AbstractDatabase.executeStatements(AbstractDatabase.java:1075)

at liquibase.changelog.ChangeSet.execute(ChangeSet.java:317)

... 7 more

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: PROCEDURE openmrs.add_concept does not exist

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)

at java.lang.reflect.Constructor.newInstance(Unknown Source)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

at com.mysql.jdbc.Util.getInstance(Util.java:386)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2819)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2768)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:949)

at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:795)

at liquibase.executor.jvm.JdbcExecutor$1ExecuteStatementCallback.doInStatement(JdbcExecutor.java:92)

at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:55)

... 11 more

27-03-2017 16:10:44 [INFO ] api - In method AlertService.saveAlert. Arguments: Alert=Alert: #null, 

27-03-2017 16:10:44 [INFO ] api - Exiting method saveAlert

Please Help to Resolve, Thank You For Your Reply

This is a known issue with the default data dump populated with bahmni installation where the procedures are missed while backing up. this is resolved in the latest release.

Solutions to fix the problem

  1. Take the latest database from 0.88 (where this is fixed). But, be aware that all your database changes will be lost and overridden.
  2. Alternatively, you can choose to solve this problem by adding the add_concept procedure manually. https://github.com/Bahmni/bahmni-core/blob/master/bahmnicore-omod/src/main/resources/V1_85__FixAddConceptProc.sql