【问题标题】:Rails, Active Record - number of rows in tablesRails,Active Record - 表中的行数
【发布时间】:2013-12-29 17:00:52
【问题描述】:

我收到 Heroku 的电子邮件,说我的 Postgres DB 中有太多行。

如何查看每个表中有多少行(以便我可以优先删除)?

【问题讨论】:

    标签: ruby-on-rails postgresql activerecord heroku


    【解决方案1】:

    更好的看待这个的方法可能是:

    我的每个 AR 模型有多少条记录?

    虽然它可能与 Heroku 给出的数字不完全匹配(可能有点低),并且可能有一些额外的东西(不是模型),但出于实际目的,这是最好的选择,它避免了使用SQL。

    ActiveRecord::Base.descendants.map { |d| [d.all.size, d.name] }.sort

    说明:

    ActiveRecord::Base.descendants 是获取所有 AR 模型的快捷方式。这用于创建包含[number of records, model name] 的数组数组,以允许进行简单的字典排序。这应该足以快速确定所有行的去向。

    【讨论】:

      【解决方案2】:

      heroku pg:psql (specify database name here if you have more than one)

      然后查看这篇文章以获取 postgres 中的行数

      How do you find the row count for all your tables in Postgres

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-14
        • 2023-03-04
        • 1970-01-01
        • 1970-01-01
        • 2013-06-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多