Add UUID field: Add UUID column to the existing table and fill UUID for historical datas.
Modify business logic: Modify the code logic of related additions, deletions, modifications and queries, and gradually convert from relying on id to using uuid.
Modify primary key: After the subsequent complete migration to uuid, remove the primary key constraint of id and set uuid as the primary key.
We can set a switch to control the use of the uuid scheme.
Keep id until the uuid solution runs stably.
Related tables and business logic(need to modify) ¶
status_incident_subscription_info 1. add uuid field 2. setUUID for history incident_subscription_info 3. add: saveOrUpdateSubIncident —> setUUID
status_announcements_subscription_info 1. add uuid field 2. setUUID for history announcements_subscription_info 3. add: saveOrUpdateSubAnnouncement —> setUUID
status_maintenance_event 1. add uuid field 2. setUUID for history maintenance_event 3. add/modify: saveMaintenanceEvent —> setUUID 4. delete: maintenanceEventRepository.deleteById —> maintenanceEventRepository.deleteByUUID