HAPI FHIR JPA Upgrade is not working

113 views
Skip to first unread message

Alberto Freitas

unread,
Oct 21, 2021, 9:43:54 AM10/21/21
to HAPI FHIR
Hi James and members

I hope you all are fine.

I am trying to upgrade a Hapi Fhir Server JPA Server from 4.2.0 (deployed in Production) to 5.3.0. 

According to documentation (https://hapifhir.io/hapi-fhir/docs/server_jpa/upgrading.html) it is generally necessary to execute a database migration as a part of an upgrade to HAPI FHIR. In this case (4.2.0 to 5.3.0) it is necessary? o what is really necessary to upgrage?

I tried to execute a database migration with the migrate database command (first using 5.3.0 client and later 5.3.0 client):

hapi-fhir-cli migrate-database -d MSSQL_2012 -u "jdbc:sqlserver://xyz.com:8433;databaseName=fhir" -n "User_fhir" -p "Password"

In both attempts I got the same error:

org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateException: Migration failed !
        at org.flywaydb.core.internal.command.DbMigrate.doMigrateGroup(DbMigrate.java:369)
        at org.flywaydb.core.internal.command.DbMigrate.applyMigrations(DbMigrate.java:287)
        at org.flywaydb.core.internal.command.DbMigrate.migrateGroup(DbMigrate.java:244)
        at org.flywaydb.core.internal.command.DbMigrate.access$100(DbMigrate.java:54)
        at org.flywaydb.core.internal.command.DbMigrate$2.call(DbMigrate.java:162)
        at org.flywaydb.core.internal.command.DbMigrate$2.call(DbMigrate.java:159)
        at org.flywaydb.core.internal.database.sqlserver.SQLServerApplicationLockTemplate.execute(SQLServerApplicationLockTemplate.java:62)
        at org.flywaydb.core.internal.database.sqlserver.SQLServerConnection.lock(SQLServerConnection.java:96)
        at org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory.lock(JdbcTableSchemaHistory.java:140)
        at org.flywaydb.core.internal.command.DbMigrate.migrateAll(DbMigrate.java:159)
        at org.flywaydb.core.internal.command.DbMigrate.migrate(DbMigrate.java:137)
        at org.flywaydb.core.Flyway$1.execute(Flyway.java:199)
        at org.flywaydb.core.Flyway$1.execute(Flyway.java:159)
        at org.flywaydb.core.Flyway.execute(Flyway.java:530)
        at org.flywaydb.core.Flyway.migrate(Flyway.java:159)
        at ca.uhn.fhir.jpa.migrate.FlywayMigrator.migrate(FlywayMigrator.java:64)
        at ca.uhn.fhir.cli.BaseFlywayMigrateDatabaseCommand.run(BaseFlywayMigrateDatabaseCommand.java:137)
        at ca.uhn.fhir.cli.HapiFlywayMigrateDatabaseCommand.run(HapiFlywayMigrateDatabaseCommand.java:56)
        at ca.uhn.fhir.cli.BaseApp.run(BaseApp.java:267)
        at ca.uhn.fhir.cli.App.main(App.java:43)
Caused by: org.flywaydb.core.api.FlywayException: Migration failed !
        at org.flywaydb.core.internal.resolver.java.JavaMigrationExecutor.executeOnce(JavaMigrationExecutor.java:78)
        at org.flywaydb.core.internal.resolver.java.JavaMigrationExecutor.access$000(JavaMigrationExecutor.java:35)
        at org.flywaydb.core.internal.resolver.java.JavaMigrationExecutor$1.call(JavaMigrationExecutor.java:56)
        at org.flywaydb.core.internal.resolver.java.JavaMigrationExecutor$1.call(JavaMigrationExecutor.java:53)
        at org.flywaydb.core.internal.database.DefaultExecutionStrategy.execute(DefaultExecutionStrategy.java:28)
        at org.flywaydb.core.internal.resolver.java.JavaMigrationExecutor.execute(JavaMigrationExecutor.java:53)
        at org.flywaydb.core.internal.command.DbMigrate.doMigrateGroup(DbMigrate.java:366)
        ... 19 common frames omitted
Caused by: org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [alter table HFJ_RESOURCE drop column FORCED_ID_PID]; SQL state [S0001]; error code
 [5074]; The object 'FKpm7n4gliswjf4au4s0s8xlo9m' is dependent on column 'FORCED_ID_PID'.; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: The object 'FKpm7n4gliswjf4au4s0s8xlo9m' is depe
ndent on column 'FORCED_ID_PID'.
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:89)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
        at org.springframework.jdbc.core.JdbcTemplate.translateException(JdbcTemplate.java:1443)
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:633)
        at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:862)
        at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:917)
        at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:927)
        at ca.uhn.fhir.jpa.migrate.taskdef.BaseTask.lambda$executeSql$0(BaseTask.java:110)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
        at ca.uhn.fhir.jpa.migrate.taskdef.BaseTask.executeSql(BaseTask.java:107)
        at ca.uhn.fhir.jpa.migrate.taskdef.DropColumnTask.doExecute(DropColumnTask.java:57)
        at ca.uhn.fhir.jpa.migrate.taskdef.BaseTask.execute(BaseTask.java:167)
        at ca.uhn.fhir.jpa.migrate.FlywayMigration.migrate(FlywayMigration.java:79)
        at org.flywaydb.core.internal.resolver.java.JavaMigrationExecutor.executeOnce(JavaMigrationExecutor.java:64)
        ... 25 common frames omitted
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The object 'FKpm7n4gliswjf4au4s0s8xlo9m' is dependent on column 'FORCED_ID_PID'.
        at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1624)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:594)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:524)
        at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7194)
        at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2979)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:248)
        at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:223)
        at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:473)
        at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
        at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
        at org.springframework.jdbc.core.JdbcTemplate.lambda$update$0(JdbcTemplate.java:867)
        at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617)


I this google group are other conversation with other similar errors trying to use hapi-fhir-cli, but there is no solution.

Thanks for your help¡¡¡¡
Reply all
Reply to author
Forward
0 new messages