Current(new) structure:
Drawio |
---|
zoom | 1 |
---|
simple | 0 |
---|
zoominComment | 10 |
---|
inCommentcustContentId | 03808821364 |
---|
pageId | 3528425485 |
---|
custContentIdlbox | 38088213641 |
---|
diagramDisplayName | Untitled Diagram.drawio | lbox | 1 |
---|
contentVer | 2 |
---|
revision | 2 |
---|
baseUrl | https://hee-tis.atlassian.net/wiki |
---|
diagramName | current table structure.drawio |
---|
pCenter | 0 |
---|
width | 810.5 |
---|
links | |
---|
tbstyle | |
---|
height | 421 |
---|
|
...
Jira Legacy |
---|
server | System JIRA |
---|
serverId | 4c843cd5-e5a9-329d-ae88-66091fcfe3c7 |
---|
key | TIS21-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 |
---|
zoom | 1 |
---|
simple | 0 |
---|
inComment | 0 |
---|
pageId | 3528425485 |
---|
custContentId | 3559718931 |
---|
lbox | 1 |
---|
diagramDisplayName | Untitled Diagram.drawio |
---|
contentVer | 2 |
---|
revision | 2 |
---|
baseUrl | https://hee-tis.atlassian.net/wiki |
---|
diagramName | Untitled Diagram.drawio |
---|
pCenter | 0 |
---|
width | 810.5 |
---|
links | |
---|
tbstyle | |
---|
height | 743 |
---|
|
...
3. Modify all the reference to deprecated fields to use ProgrammeMembership table only
TCS sql, queries:
Jira Legacy |
---|
server | System JIRA |
---|
serverId | 4c843cd5-e5a9-329d-ae88-66091fcfe3c7 |
---|
key | TIS21-2388 |
---|
|
Downstream services:
NDW-ETL
The queries Queries in NDW-ETL related to programme/curriculum memberships
Jira Legacy |
---|
server | System JIRA |
---|
serverId | 4c843cd5-e5a9-329d-ae88-66091fcfe3c7 |
---|
key | TIS21-2397 |
---|
|
TIS-Sync
Jira Legacy |
---|
server | System JIRA |
---|
serverId | 4c843cd5-e5a9-329d-ae88-66091fcfe3c7 |
---|
key | TIS21-2392 |
---|
|
Assessment
Jira Legacy |
---|
server | System JIRA |
---|
serverId | 4c843cd5-e5a9-329d-ae88-66091fcfe3c7 |
---|
key | TIS21-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 |
---|
server | System JIRA |
---|
serverId | 4c843cd5-e5a9-329d-ae88-66091fcfe3c7 |
---|
key | TIS21-2399 |
---|
|
ESR: not affected
Lambdas on AWS: not affected
4. Remove parallel saving and remove deprecated fields
Jira Legacy |
---|
server | System JIRA |
---|
serverId | 4c843cd5-e5a9-329d-ae88-66091fcfe3c7 |
---|
key | TIS21-4106 |
---|
|