Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Current(new) structure:

Drawio
zoom1
simple0
zoominComment10
inCommentcustContentId03808821364
pageId3528425485
custContentIdlbox38088213641
diagramDisplayNameUntitled Diagram.drawiolbox1
contentVer2
revision2
baseUrlhttps://hee-tis.atlassian.net/wiki
diagramNamecurrent table structure.drawio
pCenter0
width810.5
links
tbstyle
height421

...

Jira Legacy
serverSystem JIRA
serverId4c843cd5-e5a9-329d-ae88-66091fcfe3c7
keyTIS21-2420

  • Duplicate ProgrammeMembership table to a new table CurriculumMembership as a exact copy

  • Start writing updates to both tables

  • Modify all the queries (downstream services included) to use new CurriculumMembership.

  • Monitor for a few weeks to make sure there’re no queries to old ProgrammeMembership.

2. Rebuild new ProgrammeMemberhsip and populate the actual data

  • Drop old ProgrammeMembership table, and create an empty new table with necessary fields only.

  • Insert data via grouped curriculumMembership.

  • Update CurriculumMembership table with adding a new foreign key field programmeMembershipUuid and populate data for the foreign key.

  • Save / Update in both new ProgrammeMembership and CurriculumMembership tables in parallel.

After the Step 2, the Interim table structure is as below:

Drawio
zoom1
simple0
inComment0
pageId3528425485
custContentId3559718931
lbox1
diagramDisplayNameUntitled Diagram.drawio
contentVer2
revision2
baseUrlhttps://hee-tis.atlassian.net/wiki
diagramNameUntitled Diagram.drawio
pCenter0
width810.5
links
tbstyle
height743

...

3. Modify all the reference to deprecated fields to use ProgrammeMembership table only

TCS sql, queries:

Jira Legacy
serverSystem JIRA
serverId4c843cd5-e5a9-329d-ae88-66091fcfe3c7
keyTIS21-2388

Downstream services:

NDW-ETL

The queries Queries in NDW-ETL related to programme/curriculum memberships

Jira Legacy
serverSystem JIRA
serverId4c843cd5-e5a9-329d-ae88-66091fcfe3c7
keyTIS21-2397

TIS-Sync

Jira Legacy
serverSystem JIRA
serverId4c843cd5-e5a9-329d-ae88-66091fcfe3c7
keyTIS21-2392

Assessment

Jira Legacy
serverSystem JIRA
serverId4c843cd5-e5a9-329d-ae88-66091fcfe3c7
keyTIS21-2422

Bulk Upload

Bulk upload sends requests to TCS via tcs-client. As long as tcs queries are refactored, bulk upload is okay.

Reval

The data sync from TIS to Reval uses traineeInfoForConnection.sql in tcs-persistence.

TSS

Jira Legacy
serverSystem JIRA
serverId4c843cd5-e5a9-329d-ae88-66091fcfe3c7
keyTIS21-2399

ESR: not affected

Lambdas on AWS: not affected

4. Remove parallel saving and remove deprecated fields

Jira Legacy
serverSystem JIRA
serverId4c843cd5-e5a9-329d-ae88-66091fcfe3c7
keyTIS21-4106