Add table to record user confirmation of duplicate profiles#12081
Add table to record user confirmation of duplicate profiles#12081
Conversation
| create_table :duplicate_profile_confirmations do |t| | ||
| t.references :profile, foreign_key: true, null: false | ||
| t.timestamp :confirmed_at, null: false | ||
| t.json :duplicate_profiles, null: false |
There was a problem hiding this comment.
Is there an expected structure for the json column?
There was a problem hiding this comment.
yes its supposed to be an array of ids.
There was a problem hiding this comment.
Would an integer array integer[] suffice?
There was a problem hiding this comment.
It would be, but I don't see a real advantage.
The table will be updated using Ruby/Rails code and SQL queries, if any, are likely to be on the other columns.
There was a problem hiding this comment.
I think it's preferable to choose a simpler/smaller type, especially one that could be foreign keys. I also think we could also consider normalizing the table with a row for each duplicate to allow for individual updates on a given relationship for each if needed in the future?
For clarity, should the column indicate they are identifiers and be named duplicate_profile_id(s)?
There was a problem hiding this comment.
I think duplicate_profile_ids makes the most sense.
There was a problem hiding this comment.
I considered normalizing the duplicates but didn't think it is worth it - with the current design, the user is acknowledging the set as a whole and it is fine to add a new set if the duplicates change.
I agree that duplicate_profile_ids is better.
The argument of int array vs json is becoming pedantic in my opinion. I still think that JSON upholds the principle of least surprise. I am willing to go with int arrays if that will move this work along.
There was a problem hiding this comment.
Yeah, I think integer[] is preferable if we'll only ever be storing a list of integers.
125fe48 to
4d132dc
Compare
db/primary_migrate/20250416181519_create_duplicate_profile_confirmations.rb
Outdated
Show resolved
Hide resolved
4d132dc to
10c943d
Compare
changelog: Upcoming Features, One Account, Add table to record user confirmation of duplicate profiles
c84fe09 to
a6bef84
Compare
changelog: Upcoming Features, One Account, Add table to record user confirmation of duplicate profiles
update config update connector update identity config LG-15974: Add document_type to in_person_enrollments table (#12096) Used to pass the type of ID to downstream IPP vendor Sub-task: LG-16126 [skip changelog] files Add table to record user confirmation of duplicate profiles (#12081) changelog: Upcoming Features, One Account, Add table to record user confirmation of duplicate profiles LG-15974: Add document_type to in_person_enrollments table (#12096) Used to pass the type of ID to downstream IPP vendor Sub-task: LG-16126 [skip changelog] files LG-15974: Add document_type to in_person_enrollments table (#12096) Used to pass the type of ID to downstream IPP vendor Sub-task: LG-16126 [skip changelog] config turn off config turn off config update turn off health check update config stop data-warehouse undo gem blank model turn on the WAR HOUSE gemfile lock update typo turn off warehouse turn off remove dw ref undo adapter redshift again update the WARHOUSE use store update config redshift maybe report house make instance update prefix update configuration hash ssl mode root cert, search paths rm ssl rm unused controller
update config update connector update identity config LG-15974: Add document_type to in_person_enrollments table (#12096) Used to pass the type of ID to downstream IPP vendor Sub-task: LG-16126 [skip changelog] files Add table to record user confirmation of duplicate profiles (#12081) changelog: Upcoming Features, One Account, Add table to record user confirmation of duplicate profiles LG-15974: Add document_type to in_person_enrollments table (#12096) Used to pass the type of ID to downstream IPP vendor Sub-task: LG-16126 [skip changelog] files LG-15974: Add document_type to in_person_enrollments table (#12096) Used to pass the type of ID to downstream IPP vendor Sub-task: LG-16126 [skip changelog] config turn off config turn off config update turn off health check update config stop data-warehouse undo gem blank model turn on the WAR HOUSE gemfile lock update typo turn off warehouse turn off remove dw ref undo adapter redshift again update the WARHOUSE use store update config redshift maybe report house make instance update prefix update configuration hash ssl mode root cert, search paths rm ssl rm unused controller
changelog: Upcoming Features, One Account, Add table to record user confirmation of duplicate profiles