0

设置: 我有多个相同模式的数据库。每个数据库代表不同站点的数据。我想遍历每个实例并打印出用户计数和分片名称。我怎样才能做到这一点?

这是我到目前为止的代码:

    Octopus.using_all do
      users = User.all
      ap @shard  # This doesn't work
      ap users.length
    end
4

1 回答 1

1

Shard::Proxy 中有一个方法返回分片名称,但我看不到一个明显的方法来检索它。

我认为您必须手动遍历分片名称列表。

%i(shard_1 shard_2 shard_3).each do |shard|
  users = User.using(shard).all
  ap shard 
  ap users.length
end
于 2018-04-04T15:34:17.803 回答