我在 MySQL 中截断了我的数据库中的 2 个表(对于 Rails 项目),以便我可以用测试数据重新填充它。但是由于某种原因,应用程序仍在计算曾经有多少条目(250),尽管现在只有 9 个条目。
我什至使用(ruby 脚本/rails 控制台)进入 ruby 控制台,然后使用以下命令截断:
ActiveRecord::Base.connection.execute("TRUNCATE TABLE bars;")
但这并没有做任何不同的事情,然后通过 MySQL 运行查询。我很困惑,我唯一能想到的就是重新启动服务器。我只是想知道是否有另一种方法可以做到这一点而不必重新启动一切。
将搜索结果打印到记录器中,我可以看到 bar 的结果是一堆 nil 值,这些值用于曾经有 bar_profile 的位置,但我已经截断了引用 bar 或 bar_profiles 的表。
所以我不明白为什么它只会返回表格被截断之前的结果。除了现在而不是返回实际结果,它们只是零。