我收到了来自Heroku的电子邮件,说我的Postgres数据库中有太多行。
如何查看每张表中有多少行(因此我可以优先删除)?
答案 0 :(得分:1)
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
答案 1 :(得分:0)
更好的方法是:
虽然它可能与Heroku给出的数字不完全匹配(可能稍低),并且可能有一些额外的东西(不是模型),但是出于实际目的,这是最好的选择,它避免了使用的需要SQL。
ActiveRecord::Base.descendants.map { |d| [d.all.size, d.name] }.sort
ActiveRecord::Base.descendants
是获取所有AR模型的快捷方式。这用于创建包含[number of records, model name]
的数组数组,以允许简单的字典排序。这应该足以快速确定所有行的去向。