查看所有表格,来自控制台的所有记录?

ssc*_*rus 6 ruby-on-rails ruby-on-rails-3

如何使用控制台在一个命令中显示所有数据库表中的当前记录计数?谢谢!

Bri*_*ing 16

如果您"触及"所有课程,但只针对实际模型,这样做会:

ActiveRecord::Base.subclasses.map { |c| "#{c.name} => #{c.count}" }
Run Code Online (Sandbox Code Playgroud)

如果您真的想要所有表,包括不映射到模型的连接表:

ActiveRecord::Base.connection.tables.map { |t| "#{t} => " + ActiveRecord::Base.connection.execute("select count(*) from #{t}").fetch_row.first}
Run Code Online (Sandbox Code Playgroud)

  • 对于使用Rails 3.2.x的Postgresql,需要将第二个语句调整为:`ActiveRecord :: Base.connection.tables.map {| t | "#{t} =>"+ ActiveRecord :: Base.connection.execute("从#{t}选择计数(*)").first ['count']}` (5认同)

She*_*Goh 16

ActiveRecord::Base.connection.tables
Run Code Online (Sandbox Code Playgroud)

如果您发现它有用,这将返回您拥有的表的数组.