Я ищу лучший подход для удаления записей из таблицы.Например, у меня есть пользователь, чей идентификатор во многих таблицах.Я хочу удалить этого пользователя и каждую запись, у которой есть его идентификатор во всех таблицах.
u = User.find_by_name('JohnBoy')
u.usage_indexes.destroy_all
u.sources.destroy_all
u.user_stats.destroy_all
u.delete
Это работает и удаляет все ссылки пользователя из всех таблиц, но я слышал, что destroy_all
был очень тяжелым процессомпоэтому я попробовал delete_all
.Он только удаляет пользователя из его собственной пользовательской таблицы, а id
из всех других таблиц обнуляется, но оставляет записи в них нетронутыми.Может кто-нибудь поделиться тем, что правильно для выполнения такой задачи?
Я вижу, что destroy_all
вызывает функцию destroy
для всех связанных объектов, но я просто хочу подтвердить правильный подход.