В таблице есть несколько дубликатов, скажем, tableA, однако id
таблицыA - это внешний ключ в другой таблице. Поэтому перед удалением записей в таблице А я хотел бы обновить внешний ключ в этой другой таблице. Это схема другой таблицы.
Схема таблицы:
id
foriegn_key_id
attribute_id
Indexes:
"index_table_on_attribute_id_and_foriegn_key_id" UNIQUE, btree (attribute_id, foriegn_key_id)
Пример данных:
id foriegn_key_id attribute_id
1 2 3
2 1 3
3 1 4
4 1 5
Ниже приведен код, которыйЯ попытался обновить внешний ключ.
Table.where(foriegn_key_id: 1).update(foriegn_key_id: 2)
Однако, когда попробуйте вышеуказанный код, я получаю следующую ошибку. ActiveRecord::RecordNotUnique
Для записей, которые я получаю только ошибку, я хотел бы удалить ее. Цикл и обновление отдельной записи и удаление записи, которая получает ActiveRecord::RecordNotUnique
единственный путь, или есть более простой способ?