Я пишу приложение rails с моделью Person, которая выглядит примерно так:
create_table "people", :force => true do |t|
t.string "first_name"
t.string "last_name"
t.string "email"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
У меня есть двухэтапный процесс следующим образом:
- Заполните записи о людях, указав имена людей. Имена людей могут иметь неизвестные дубликаты из-за псевдонимов и т. д. Например, «тим смит» и «тимоти смит».
- Запросите API, чтобы получить потенциальные совпадения адресов электронной почты для этих людей.
После выполнения этой обработки у меня могут быть такие данные, как:
запись 1: first_name: tim last_name: smith электронная почта: [email protected]
запись 2: first_name: timothy last_name: smith электронная почта: [email protected]
Каков наилучший способ в рельсах смоделировать, что это дубликаты?
ОБНОВЛЕНИЕ: РАЗЪЯСНЕНИЕ
После шага 2 я знаю, как узнать, что эти две записи являются дубликатами (то есть одним и тем же человеком), мой вопрос: как представить это в модели? Должен ли я добавить поле типа «duplicate_of_person_id» и поместить идентификатор первой записи в это поле во второй записи? Есть ли способ лучше?