Допустим, у меня есть Модель, например, Пользователь, и я хочу объединить два экземпляра этой Модели, скажем, объединить User2 с User1. Явно это то, что я имею в виду:
Если поле User1 уже заполнено, оно должно остаться прежним
Если поле отсутствует в User1, но присутствует в User2, его следует скопировать
Если SomeModel BelongsTo User, каждый экземпляр SomeModel, указывающий на User2, должен быть изменен, чтобы указывать на User1
То же самое, если SomeModel HasAndBelongsToMany User
Если у SomeModel HasMany User и SomeModel1 есть User2, но нет другого экземпляра с User1, его следует изменить, чтобы SomeModel1 имел User1 вместо
Если SomeModel HasMany User, SomeModel1 имеет User1, а SomeModel2 имеет User2 ... ну, я не уверен, что здесь, я думаю, единственное решение - отказаться от SomeModel2, поскольку User1 может принадлежать только одной SomeModel.
Наконец, User2 должен быть удален.
Есть ли способ автоматизировать это? Может быть Поведение? Если нет, я мог бы подумать о его создании, так как он мне очень понадобится.