Rails 在遍历所有分片时,使用 Octopus 获取分片名称
Rails while iterating through all the shards, get the shard name using Octopus
设置:
我有多个相同模式的数据库。每个数据库代表不同站点的数据。我想遍历每个实例并打印出用户数和分片名称。我该怎么做?
这是我目前的代码:
Octopus.using_all do
users = User.all
ap @shard # This doesn't work
ap users.length
end
Shard::Proxy 中有一个方法 returns 分片名称,但我看不到检索它的明显方法。
我认为您必须手动遍历分片名称列表。
%i(shard_1 shard_2 shard_3).each do |shard|
users = User.using(shard).all
ap shard
ap users.length
end
设置: 我有多个相同模式的数据库。每个数据库代表不同站点的数据。我想遍历每个实例并打印出用户数和分片名称。我该怎么做?
这是我目前的代码:
Octopus.using_all do
users = User.all
ap @shard # This doesn't work
ap users.length
end
Shard::Proxy 中有一个方法 returns 分片名称,但我看不到检索它的明显方法。
我认为您必须手动遍历分片名称列表。
%i(shard_1 shard_2 shard_3).each do |shard|
users = User.using(shard).all
ap shard
ap users.length
end