Безопасное удаление пользовательской таблицы в приложении Ruby on Rails

0

Я запускаю приложение Ruby on Rails. В этой системе пользователи могут войти и выйти из системы по мере необходимости. Я также использовал драгоценный камень. Теперь я понял, что у меня много пользователей в моей системе, но большинство из них больше не являются пользователями. Я могу удалить их из системы, но я хочу начать заново.

Мой вопрос: безопасно ли вы отбросить таблицу Users, User.delete_all? Затем вставьте себя, используя seed.rb качестве администратора. Затем добавьте все пользователи (новые и старые) из системы (добавьте функцию "Новый пользователь", которую я имею в системе).

  • 2
    «сбросить таблицу пользователей» и User.delete_all - это User.delete_all разные действия.
Теги:

1 ответ

0

Я уверен, что вы ищете, это delete_all -action, если у вас нет обратных вызовов и т.д. в User -model. Отбрасывание таблицы не то, что вам нужно, так как вам придется перестроить и воссоздать таблицу. Удалив в нем строки, вы просто удаляете содержимое.

В зависимости от использования вами пользователей вы можете утверждать, что безопасно/небезопасно удалять контент. Если пользователи сохраняются, и вы сохраняете пароль и т.д., Вы не должны его пустить.

Если, с другой стороны, User фактически является "сеансом" или подобным, вы должны быть в безопасности, чтобы его очистить, поскольку это просто "выйдет из системы" ваших пользователей.

Еще одно соображение: если вам нужно last_logged_in пользователей, возможно, добавьте поле last_logged_in или подобное. Оставьте его на некоторое время (и, конечно, обновите его, когда пользователь входит в систему), а затем удалите всех, кто не зашел в систему, скажем, 1 месяц; User.where("last_logged_in <?", 1.month.ago).delete_all.

Я не могу рекомендовать, просто удаляя контент, не тестируя сначала, и гарантируя, что данные Пользователя будут сохранены или "легко восстановлены" путем нового входа. Или, по крайней мере, они фактически могут войти, не будучи озадаченными. Кроме того, убедитесь, что любые отношения с User, обработаны, или вы потеряете сиротские записи в других таблицах.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню