Citizen Complaint Resolution System Migration
Learn more about module migration details
Setup
Persister yml for bulk migration
pgr-services
pgr-services-db:pgr-migration-2475ec38-56
rainmaker-pgr
rainmaker-pgr-db:pgr-migration-c046a264-20
The above build has to be deployed to perform the migration. The batch persister config has to be added in config Repo. After adding the file in the repo, update the persister path in the environment yml file. Make sure the persister.bulk.enabled is set to true. Once done restart the persister pod.
To start the migration, call the following API with tenantId as a parameter. It will migrate data belonging to that tenantId. The API does not have role action mapping and should be used by port forwarding rainmaker-pgr pod.
WSD
Validation Queries
*(Last query related to document might need little modification as values in NOT IN clause can be more than the 2 specified)
Prod Data Insights
A null value is stored in action for adding comments in the old system it’s mapped to COMMENT in the new system.
The Locality attribute in the new eg_pgr_address_v2 table does not allow NULL values whereas the locality attribute in the old eg_pgr_address in Punjab prod data has NULL values. Those values are filled in migration with the dummy value NOT_AVAILABLE.
For 128 records accountId is NULL so they won’t be associated with any citizen login.
For some records in the media column, corrupt data is present. For example, in one case instead of fileStore UUID some normal text describing the complaint is present. While some other records have values like no. For data with such text having a length greater than 64 is set to null, else DB validations are violated.
In the old system-id is stored for referencing user data. In new systems we use UUID to refer users, therefore all id is mapped to respective UUIDs which are then migrated to the new system. If some user has UUID as NULL default value NOT_SPECIFIED will be used.
Some 1104 complaints have value in the column named feedback which seems to be from some set of predefined values like "Resolution Time", "Quality of work", ”others” etc. The new structure does not have any such column so we will be storing this in additionalDetails.
The address and landmark column in eg_pgr_service has values in some columns they are also stored in additionalDetails.
The phone column contains phone numbers, we are not migrating that column as it has PII data and will be already present in user service as well.
If SLA is not found in the old config (will only happen if some complaint category is removed from MDMS and complaints are present in the system of that category) default SLA value will be used.