Octopus gem为每个ActiveRecord查询发送2个SQL查询

时间:2014-10-12 06:37:33

标签: ruby-on-rails-4 octopus

目前我有一个“状态”模型,并在shards.yml中有以下配置详细信息。 我在“开发”环境中检查以下内容。

octopus:
  environments:
    - development
    - staging
    - production
  replicated: true
  fully_replicated: true 
  development:
    slave1:
      host: 192.168.5.130
      adapter: mysql2
      database: mydb
      username: user
      password: Password
      reconnect: false
  staging:
    slave1:
      host: 192.168.1.2
      adapter: mysql2
      database: server_db
      username: admin
      password: fake_staging_password
      reconnect: false
  production:
    slave1:
      host: 192.168.1.5
      adapter: mysql2
      database: production_db_name
      username: admin
      password: fake_production_password
      reconnect: true

当我发出State.all或任何活动记录查询时,我看到相同的SQL语句被发送到服务器2次

例如,State.count发送以下SQL两次。

[Shard: slave1]   (1.5ms)  SELECT COUNT(*) FROM `states`
[Shard: slave1]   (2.1ms)  SELECT COUNT(*) FROM `states`
 => 35 

这是正常的吗?或者我在设置中有任何问题?

1 个答案:

答案 0 :(得分:0)

我认为您应该放置replicated: truefully_replicated: true

不是两个。