我正在运行Ruby on Rails应用程序。在此系统中,用户可以根据需要登录和注销。我也使用了宝石设计。我现在意识到我的系统中有很多用户,但大多数用户不再是用户。我可以从系统中删除它们,但我想重新开始。
我的问题是,删除Users表User.delete_all
是否安全?然后使用seed.rb
作为管理员用户插入自己。然后从系统添加所有用户(新旧)(在系统上添加新用户功能)。
答案 0 :(得分:0)
如果您在delete_all
模型中没有回调等,我认为您正在寻找的是User
- 动作。删除表格不您想要的是什么,因为您必须重建并重新创建表格。通过删除其中的行,您只需删除内容。
根据您对用户的使用情况,您可以说,删除内容是安全/不安全的。如果用户被保留,并且您要存储密码等,则不应将其清空。
另一方面,如果User
实际上是一个"会话"或类似的,你应该可以安全地清空它,因为那样只会"注销& #34;你的用户。
另一个考虑因素是,如果您需要清理用户,可以添加字段last_logged_in
或类似字段。保留一段时间(当然,当用户登录时更新它),然后删除任何没有登录的人,例如1个月; User.where("last_logged_in < ?", 1.month.ago).delete_all
。
我不建议,只是删除内容,不先测试,并确保用户数据通过新登录存储或轻松恢复。或至少他们实际上能够登录而不会感到困惑。此外,请确保处理来自User
的任何关系,或者您最终会在其他表格中显示孤立记录。