HAPI 3.8.0 upgrade issues

91 views
Skip to first unread message

shi...@interopion.com

unread,
Jun 24, 2019, 4:17:04 PM6/24/19
to HAPI FHIR
Hi,

I am trying to upgrade our multi-tenant implementation of HAPI server to 3.8.0.  I have downloaded and ran the hapi-fhir-jpaserver-starter with recommended changes to use MySQL.

These are my hapi.properties settings:

datasource.driver=com.mysql.jdbc.Driver
datasource.url=jdbc:mysql://localhost:3306/hapi_dstu3
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect

When I compared our current dstu3 schema to hapi_dstu3 schema, there were lots of schema differences.  I tried to do database migration through the hapi-fhir-cli, but it is not working.  I have tried a few commands with minor variations, but it is not working as expected.  It seems like it is not finding the tasks to migrate.  I double checked to see if it is able to find my database to migrate, by putting a non-existent database in the database url and I still got the same response.

2019-06-24 12:09:40 [main] INFO  c.u.f.j.m.Migrator Starting migration with 0 tasks

2019-06-24 12:09:40 [main] INFO  c.u.f.j.m.Migrator Finished migration of 0 tasks

2019-06-24 12:09:40 [main] INFO  ca.uhn.fhir.cli.App HAPI FHIR is shutting down...


These are the commands that I have tried on the hapi-fhir-cli

./hapi-fhir-cli migrate-database -d MYSQL_5_7 -u "jdbc:mysql://localhost:3306/hspc_8_Test0425" -n "abcd" -p "abcd" -f V3_7_0 -t V3_8_0


./hapi-fhir-cli migrate-database -d MYSQL_5_7 -u "jdbc:mysql://127.0.0.1:3306/hspc_8_Test0425?serverTimezone=America/Denver" -n "abcd" -p "abcd" -f V3_7_0 -t V3_8_0


java -cp ./hapi-fhir-cli.jar:mysql-connector-java-8.0.12.jar ca.uhn.fhir.cli.App migrate-database -d MYSQL_5_7 -u "jdbc:mysql://localhost:3306/hspc_8_Test0425" -n "abcd" -p "abcd" -f V3_7_0 -t V3_8_0

java -cp ./hapi-fhir-cli.jar:mysql-connector-java-8.0.12.jar ca.uhn.fhir.cli.App migrate-database -d MYSQL_5_7 -u "jdbc:mysql://127.0.0.1:3306/hspc_8_Test0425?serverTimezone=America/Denver" -n "abcd" -p "abcd" -f V3_7_0 -t V3_8_0


Please help me with this migration and also please guide me to the HAPI 3.8.0 upgrade process documentation as well.  

Thanks,
Shilpy














James Agnew

unread,
Jun 24, 2019, 4:24:58 PM6/24/19
to shi...@interopion.com, HAPI FHIR
Hi Shilpy,

There are no schema changes between HAPI FHIR 3.7.0 and HAPI FHIR 3.8.0, and no database migration should be required.

Can you give an example of a schema change you are seeing?

Cheers,
James


--
You received this message because you are subscribed to the Google Groups "HAPI FHIR" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+...@googlegroups.com.
To post to this group, send email to hapi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hapi-fhir/b522be93-11df-4da1-94ed-1994d873a109%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Shilpy Sharma

unread,
Jun 24, 2019, 4:42:13 PM6/24/19
to James Agnew, HAPI FHIR
Hi James,

This is the result of database comparison.  There are lots of minor changes with the varchar and some default values, but the major ones are dropping tables (missing tables) HFJ_SEARCH_PARM and  SEQ_SEARCHPARM_ID, and creating some indexes and dropping some indexes.

USE hspc_8_CompareSTU3;

drop index IDX_FORCEDID_TYPE_FID on HFJ_FORCED_ID;

alter table HFJ_FORCED_ID engine=InnoDB;

alter table HFJ_FORCED_ID charset=utf8;

create unique index IDX_FORCEDID_TYPE_FID
on HFJ_FORCED_ID (RESOURCE_TYPE, FORCED_ID);

alter table HFJ_FORCED_ID
add constraint IDX_FORCEDID_TYPE_FID
unique (RESOURCE_TYPE, FORCED_ID);

alter table HFJ_FORCED_ID
add constraint FK_FORCEDID_RESOURCE
foreign key (RESOURCE_PID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_HISTORY_TAG engine=InnoDB;

alter table HFJ_HISTORY_TAG charset=utf8;

alter table HFJ_HISTORY_TAG
add constraint FK_HISTORYTAG_HISTORY
foreign key (RES_VER_PID) references HFJ_RES_VER (PID);

alter table HFJ_HISTORY_TAG
add constraint FKtderym7awj6q8iq5c51xv4ndw
foreign key (TAG_ID) references HFJ_TAG_DEF (TAG_ID);

alter table HFJ_IDX_CMP_STRING_UNIQ modify IDX_STRING varchar(200) not null;

alter table HFJ_IDX_CMP_STRING_UNIQ engine=InnoDB;

alter table HFJ_IDX_CMP_STRING_UNIQ charset=utf8;

alter table HFJ_IDX_CMP_STRING_UNIQ
add constraint FK_IDXCMPSTRUNIQ_RES_ID
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_RESOURCE drop column RES_TITLE;

alter table HFJ_RESOURCE engine=InnoDB;

alter table HFJ_RESOURCE charset=utf8;

alter table HFJ_RESOURCE
add constraint FKhjgj8cp879gfxko25cx5o692r
foreign key (FORCED_ID_PID) references HFJ_FORCED_ID (PID);

alter table HFJ_RES_LINK alter column SOURCE_RESOURCE_TYPE drop default;

alter table HFJ_RES_LINK alter column TARGET_RESOURCE_TYPE drop default;

alter table HFJ_RES_LINK engine=InnoDB;

alter table HFJ_RES_LINK charset=utf8;

alter table HFJ_RES_LINK
add constraint FK_RESLINK_SOURCE
foreign key (SRC_RESOURCE_ID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_RES_LINK
add constraint FK_RESLINK_TARGET
foreign key (TARGET_RESOURCE_ID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_RES_PARAM_PRESENT engine=InnoDB;

alter table HFJ_RES_PARAM_PRESENT charset=utf8;

alter table HFJ_RES_PARAM_PRESENT
add constraint FK_RESPARMPRES_RESID
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_RES_REINDEX_JOB modify SUSPENDED_UNTIL datetime null;

alter table HFJ_RES_REINDEX_JOB modify UPDATE_THRESHOLD_HIGH datetime not null;

alter table HFJ_RES_REINDEX_JOB modify UPDATE_THRESHOLD_LOW datetime null;

alter table HFJ_RES_TAG engine=InnoDB;

alter table HFJ_RES_TAG charset=utf8;

alter table HFJ_RES_TAG
add constraint FK_RESTAG_RESOURCE
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_RES_TAG
add constraint FKbfcjbaftmiwr3rxkwsy23vneo
foreign key (TAG_ID) references HFJ_TAG_DEF (TAG_ID);

alter table HFJ_RES_VER modify RES_ENCODING varchar(5) not null;

alter table HFJ_RES_VER drop column RES_TITLE;

alter table HFJ_RES_VER engine=InnoDB;

alter table HFJ_RES_VER charset=utf8;

alter table HFJ_RES_VER
add constraint FKh20i7lcbchkaxekvwg9ix4hc5
foreign key (FORCED_ID_PID) references HFJ_FORCED_ID (PID);

alter table HFJ_SEARCH modify SEARCH_UUID varchar(36) not null;

alter table HFJ_SEARCH engine=InnoDB;

alter table HFJ_SEARCH charset=utf8;

alter table HFJ_SEARCH_INCLUDE engine=InnoDB;

alter table HFJ_SEARCH_INCLUDE charset=utf8;

alter table HFJ_SEARCH_INCLUDE
add constraint FK_SEARCHINC_SEARCH
foreign key (SEARCH_PID) references HFJ_SEARCH (PID);

drop table HFJ_SEARCH_PARM;

alter table HFJ_SEARCH_RESULT engine=InnoDB;

alter table HFJ_SEARCH_RESULT charset=utf8;

alter table HFJ_SEARCH_RESULT
add constraint FK_SEARCHRES_RES
foreign key (RESOURCE_PID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_SEARCH_RESULT
add constraint FK_SEARCHRES_SEARCH
foreign key (SEARCH_PID) references HFJ_SEARCH (PID);

alter table HFJ_SPIDX_COORDS engine=InnoDB;

alter table HFJ_SPIDX_COORDS charset=utf8;

alter table HFJ_SPIDX_COORDS
add constraint FKc97mpk37okwu8qvtceg2nh9vn
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

drop index IDX_SP_DATE on hspc_8_CompareSTU3.HFJ_SPIDX_DATE;

alter table HFJ_SPIDX_DATE engine=InnoDB;

alter table HFJ_SPIDX_DATE charset=utf8;

alter table HFJ_SPIDX_DATE
add constraint FK17s70oa59rm9n61k9thjqrsqm
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_SPIDX_NUMBER engine=InnoDB;

alter table HFJ_SPIDX_NUMBER charset=utf8;

alter table HFJ_SPIDX_NUMBER
add constraint FKcltihnc5tgprj9bhpt7xi5otb
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_SPIDX_QUANTITY drop column HASH_UNITS_AND_VALPREFIX;

alter table HFJ_SPIDX_QUANTITY drop column HASH_VALPREFIX;

alter table HFJ_SPIDX_QUANTITY engine=InnoDB;

alter table HFJ_SPIDX_QUANTITY charset=utf8;

alter table HFJ_SPIDX_QUANTITY
add constraint FKn603wjjoi1a6asewxbbd78bi5
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_SPIDX_STRING engine=InnoDB;

alter table HFJ_SPIDX_STRING charset=utf8;

create index IDX_SP_STRING_HASH_IDENT
on HFJ_SPIDX_STRING (HASH_IDENTITY);

alter table HFJ_SPIDX_STRING
add constraint FK_SPIDXSTR_RESOURCE
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_SPIDX_TOKEN engine=InnoDB;

alter table HFJ_SPIDX_TOKEN charset=utf8;

alter table HFJ_SPIDX_TOKEN
add constraint FK7ulx3j1gg3v7maqrejgc7ybc4
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_SPIDX_URI engine=InnoDB;

alter table HFJ_SPIDX_URI charset=utf8;

alter table HFJ_SPIDX_URI
add constraint FKgxsreutymmfjuwdswv3y887do
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_SUBSCRIPTION_STATS engine=InnoDB;

alter table HFJ_SUBSCRIPTION_STATS charset=utf8;

alter table HFJ_SUBSCRIPTION_STATS
add constraint FK_SUBSC_RESOURCE_ID
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table HFJ_TAG_DEF drop column myHashCode;

alter table HFJ_TAG_DEF engine=InnoDB;

alter table HFJ_TAG_DEF charset=utf8;

drop table SEQ_SEARCHPARM_ID;

alter table TRM_CODESYSTEM engine=InnoDB;

alter table TRM_CODESYSTEM charset=utf8;

alter table TRM_CODESYSTEM
add constraint FK_TRMCODESYSTEM_CURVER
foreign key (CURRENT_VERSION_PID) references TRM_CODESYSTEM_VER (PID);

alter table TRM_CODESYSTEM
add constraint FK_TRMCODESYSTEM_RES
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table TRM_CODESYSTEM_VER engine=InnoDB;

alter table TRM_CODESYSTEM_VER charset=utf8;

alter table TRM_CODESYSTEM_VER
add constraint FK_CODESYSVER_CS_ID
foreign key (CODESYSTEM_PID) references TRM_CODESYSTEM (PID);

alter table TRM_CODESYSTEM_VER
add constraint FK_CODESYSVER_RES_ID
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table TRM_CONCEPT modify CODE varchar(500) not null;

alter table TRM_CONCEPT engine=InnoDB;

alter table TRM_CONCEPT charset=utf8;

alter table TRM_CONCEPT
add constraint FK_CONCEPT_PID_CS_PID
foreign key (CODESYSTEM_PID) references TRM_CODESYSTEM_VER (PID);

alter table TRM_CONCEPT_DESIG engine=InnoDB;

alter table TRM_CONCEPT_DESIG
add constraint FK_CONCEPTDESIG_CONCEPT
foreign key (CONCEPT_PID) references TRM_CONCEPT (PID);

alter table TRM_CONCEPT_DESIG
add constraint FK_CONCEPTDESIG_CSV
foreign key (CS_VER_PID) references TRM_CODESYSTEM_VER (PID);

alter table TRM_CONCEPT_MAP engine=InnoDB;

alter table TRM_CONCEPT_MAP
add constraint FK_TRMCONCEPTMAP_RES
foreign key (RES_ID) references HFJ_RESOURCE (RES_ID);

alter table TRM_CONCEPT_MAP_GROUP engine=InnoDB;

alter table TRM_CONCEPT_MAP_GROUP
add constraint FK_TCMGROUP_CONCEPTMAP
foreign key (CONCEPT_MAP_PID) references TRM_CONCEPT_MAP (PID);

alter table TRM_CONCEPT_MAP_GRP_ELEMENT engine=InnoDB;

create index IDX_CNCPT_MAP_GRP_CD
on TRM_CONCEPT_MAP_GRP_ELEMENT (SOURCE_CODE);

alter table TRM_CONCEPT_MAP_GRP_ELEMENT
add constraint FK_TCMGELEMENT_GROUP
foreign key (CONCEPT_MAP_GROUP_PID) references TRM_CONCEPT_MAP_GROUP (PID);

alter table TRM_CONCEPT_MAP_GRP_ELM_TGT engine=InnoDB;

create index IDX_CNCPT_MP_GRP_ELM_TGT_CD
on TRM_CONCEPT_MAP_GRP_ELM_TGT (TARGET_CODE);

alter table TRM_CONCEPT_MAP_GRP_ELM_TGT
add constraint FK_TCMGETARGET_ELEMENT
foreign key (CONCEPT_MAP_GRP_ELM_PID) references TRM_CONCEPT_MAP_GRP_ELEMENT (PID);

alter table TRM_CONCEPT_PC_LINK engine=InnoDB;

alter table TRM_CONCEPT_PC_LINK charset=utf8;

alter table TRM_CONCEPT_PC_LINK
add constraint FK_TERM_CONCEPTPC_CHILD
foreign key (CHILD_PID) references TRM_CONCEPT (PID);

alter table TRM_CONCEPT_PC_LINK
add constraint FK_TERM_CONCEPTPC_CS
foreign key (CODESYSTEM_PID) references TRM_CODESYSTEM_VER (PID);

alter table TRM_CONCEPT_PC_LINK
add constraint FK_TERM_CONCEPTPC_PARENT
foreign key (PARENT_PID) references TRM_CONCEPT (PID);

alter table TRM_CONCEPT_PROPERTY engine=InnoDB;

alter table TRM_CONCEPT_PROPERTY charset=utf8;

alter table TRM_CONCEPT_PROPERTY
add constraint FK_CONCEPTPROP_CONCEPT
foreign key (CONCEPT_PID) references TRM_CONCEPT (PID);

alter table TRM_CONCEPT_PROPERTY
add constraint FK_CONCEPTPROP_CSV
foreign key (CS_VER_PID) references TRM_CODESYSTEM_VER (PID);

shi...@interopion.com

unread,
Jun 24, 2019, 4:47:08 PM6/24/19
to HAPI FHIR
To unsubscribe from this group and stop receiving emails from it, send an email to hapi...@googlegroups.com.

James Agnew

unread,
Jun 24, 2019, 4:50:00 PM6/24/19
to shi...@interopion.com, HAPI FHIR
Something is definitely very wrong there...

Taking a random example from what you provided:

> add constraint FK_RESLINK_SOURCE

That constraint was added in 2017, in HAPI FHIR 2.5. So that's definitely not a valid schema for HAPI FHIR 3.7.0 if it was missing in your DB....

Cheers,
James

To unsubscribe from this group and stop receiving emails from it, send an email to hapi-fhir+...@googlegroups.com.

To post to this group, send email to hapi...@googlegroups.com.

shi...@interopion.com

unread,
Jun 24, 2019, 5:16:30 PM6/24/19
to HAPI FHIR
Thanks for checking it.  I will be looking into what are we missing on our end.  

Shilpy
Reply all
Reply to author
Forward
0 new messages