SAME APPROACH AS SH
New entities
TrautomJobRoleInfo
RequiredQualification
LegalQualification
ModuleActivation
TrainingToCategory
JobRoleToProject
SCKToProject
New columns
- JobRole
code (originKey in new model)
activities
- SCK
code (originKey in new model)
- PersonToTraining
proofFileId, proofDescription, proofResults (not used)
- Acknowledgement
- CompetenceLevel1
- englishGeneralFunctionFocus
Acknowledgement, Badge, CategoryOfOffer, CategoryOfOfferToProvider, Certificate, CommonTrainingCompletionProof, CompetenceL1, CompetenceL2, CompetenceL2half, CompL1ToRelease, CompL2ToRelease, CompL2halfToRelease, Corporation, Country, DeliveryMethod, DeliveryMethodType, JobRole, JobRoleCategory, JobRoleToWorkingGroup, Language, LearningOutcome, LearningPath, Logs, LPathElement, LPathSCK, MegaTrend, ModuleActivation, OrganisationType, Person, PersonAchievedSCK, PersonCompletedTraining, PersonFavouriteJobRole, PersonFavouriteTraining, PersonGeneratedLPath, TrainingProviderGuaranteedLPath, PersonSavedLPath, PersonToCorporationRole, PersonToTrainingProvider, PersonToWorkingGroup, PriceType, ProviderGroup, SCK, SCKLevel, SCKToJobRole, SCKToTraining, SCKToTrend, SCKToWorkingGroup, SkillDatasetRelease, SCKToRelease, TargetGroup, TargetGroupToTraining, Training, TrainingCategory, TrainingCompletionProof, TrainingMetricsEnroll, TrainingMetricsRating, TrainingMetricsView, TrainingProvider, TrainingProviderToTrend, TrainingType, Trend, WikiPage, WorkingGroup, SCKLevelToTraining
NEWLY REMOVED
- CorporationRole, LPathToPersonProgress
- original table for data migration:
DRIVE_AreaToTraining, DRIVES_TrainingElement, DRIVES_TrainingToTE,
DRIVES_SCKLevelToSCKToJobRole, DRIVES_SCKLevelToSCKToTE
DRIVES_TrainingToProvider, DRIVES_SCKToExternalSystem
User_, Users_Roles, Role_
- ENTITY MAPPING TYPES:
- reduction - some attributes are going to be omitted
- extension - some attributes must be delivered
- adjusted - some attributes are added some are removed
- special adjusted - some attributes are added some are removed; special - some attributes could be recalculated or delivered
- 1:1 - direct attribute migration
- special 1:1 - direct attribute migration; special - some attributes could be recalculated or delivered
- new - specific migration or creation
NewPlatformTable (OriginalPlatformTable) (entity mapping type)
Identified entities with reset IDs (PK)
- LearningOutcome, DeliveryMethod, PersonAchievedSCK, TargetGroup, Certificate, PriceType, DeliveryMethodType
Lookup tables
- Country - same as SH
- Language - same as SH
Main entities
PERSON
- Person (DRIVES_Person) (extension) - same as SH
PROVIDER
- look ups
- CategoryOfOffer - same as SH
- OrganisationType - same as SH
- TrainingProvider - same as SH
- PersonToTrainingProvider - same as SH
- CategoryOfOfferToProvider - same as SH
TRAINING
- look ups
- TrainingType (DRIVES_TrainingType) (extension) - same as SH + translation
- TrainingCategory (DRIVES_CourseCategory) (1:1) - same as SH + translation
Certificate (DRIVES_Certificate) (reduction)
- TargetGroup - same as SH
- delivery method look ups
- DeliveryMethodType (new) - same as SH + translation
- PriceType (new) - same as SH + translation
- LearningOutcome (DRIVES_LearningOutcomes) (special 1:1) - same as SH
- DeliveryMethod (DRIVES_OrganisationArea) (special 1:1) - same as SH
- Acknowledgement - same as SH
- position - set to 0 because MSK data model does not have this attribute
- PersonFavouriteTraining (DRIVES_PersonFavouriteTraining) (1:1) - new migrators (msk data is present)
- SCKToTraining (DRIVES_SCKToTrainingElement and DRIVES_TrainingToTE) - same as SH
- SCKLevelToTraining (DRIVES_SCKLevelToTraining) (reduction) - same as SH
- TargetGroupToTraining (new) - same as SH
- Training - new attribute
- adding proofType - only PROVIDER_PROOF / NO_PROOF
- removing certificateId - was replaced by proofType
JOB_ROLE
- JobRole (DRIVES_JobRole) - new attributes
- isco
- minimalEducation
- averageSalary
- medianSalary
- requiredQualification
- legalQualification
- activities
- jrCategoryId - values are now present from MSK, attribute provides ID (at SH was bad naming jrCategory)
- originKey - delivery from code attribute (MSK job roles have ID attribute - it is included in XLSX file)
- SCKToJobRole (DRIVES_SCKToJobRole) (extension) - same as SH
- JobRoleCategory (DRIVES_JobRoleCategory) (1:1) - new migrators (msk data is present)
- PersonFavouriteJobRole (DRIVES_PersonFavouriteJobRole) (1:1) - new migrators (msk data is present)
COMPETENCE
- CompetenceL1 (special 1:1) - new migrators (msk data is present)
- name - transferred to JSON with “en” and “cz” keys from getEnglishName and getCzechName
- description - no data, “en” and “cz” keys with empty strings
- generalFunctionFocus - transferred to JSON with “en” and “cz” keys from getEnglishGeneralFunctionFocus and getGeneralFunctionFocus
- CompetenceL2 (special 1:1) - new migrators (msk data is present)
- name - transferred to JSON with “en” and “cz” keys from getEnglishName and getCzechName
- description - no English data, “en” and “cz” keys from empty string and getCzechName
- CompetenceL2half (special 1:1) - new migrators (msk data is present)
- name - transferred to JSON with “en” and “cz” keys from getEnglishName and getCzechName
- no English data, “en” and “cz” keys from empty string and getCzechName
SCK
- SCK (DRIVES_SCK) (adjusted) - same as SH with few new conditions
- “msk” origin filter is active while exporting
- originKey - delivery from code attribute (but values are present in originKey as well)
- origin - hard coded upper case “MSK”
- type - all is "skill/competence"
- altLabels, hiddenLabels - explicitly null because there is no data at MSK
- SCKLevel (DRIVES_SCKLevel) (1:1) - same as SH + translation
TRENDS
- MegaTrend (DRIVES_MegaTrend) (1:1)
- Trend (DRIVES_Trend) (1:1)
- TrainingProviderToTrend (DRIVES_TrainingProviderToTrend) (1:1 with removing PK)
- SCKToTrend (DRIVES_SCKToTrend) (1:1 with removing PK)
WORKING GROUP (migrated but possibly not gonna be used)
- WorkingGroup (DRIVES_WorkingGroup)
- SCKToWorkingGroup (DRIVES_SCKToWorkingGroup ) (1:1 with removing PK)
- mainGroup - delivered by searching the SCK, check workingGroupId and mainProjectId attributes, set mainGroup as true if there is non zero FK
- JobRoleToWorkingGroup (DRIVES_JobRoleToWorkingGroup ) (1:1 with removing PK)
- mainGroup - delivered by searching the SCK, check workingGroupId and mainProjectId attributes, set mainGroup as true if there is non zero FK
- PersonToWorkingGroup (DRIVES_PersonToWorkingGroup ) (1:1 with removing PK)
- mainGroup - delivered by searching the SCK, check workingGroupId and mainProjectId attributes, set mainGroup as true if there is non zero FK
No data entities
- CorporationRole
- PersonToCorporationRole
- SkillDatasetRelease
- SCKToRelease
- CompL1ToRelease
- CompL2ToRelease
- CompL2halfToRelease
- LPathToPersonProgress
learning path
- LearningPath
- LPathElement
- LPathSCK
- TrainingProviderGuaranteedLPath
- PersonGeneratedLPath
- PersonSavedLPath
Omitting migration
- Corporation
- Logs
- TrainingToCategory
training completion
- PersonCompletedTraining
- PersonAchievedSCK
- Badge
- PersonCompletedTrainingToProof
- CompletionProof
general
- WikiPage (only SH thing)
- TrainingMetricsView (msk dont save any data in prod app)
- TrainingMetricsEnroll (msk dont save any data in prod app)
- TrainingMetricsRating (msk dont save any data in prod app)
- ModuleActivation
- ProviderGroup
- Logs
MIGRATION LOGS ANALYSIS
Logging
- Structural and referential Integrity
- all entities are present, including empty ones
- required fields exist
- data types match
- each FK points to an existing ID
- there are no orphaned records
- This should be largely validated by the new platform importers
- Migration log based validation
- Migration validation based on business rules
- Sampling manual validation
- going through new platform and compare old and new system using frontend interface
- help to investigate
- the preservation of original IDs works
- the relationships match those in the old database after import
Exporters logs
Importers logs