整顿gem,mongo,测试ActiveRecord :: ConnectionNotEstablished

时间:2017-04-27 09:30:10

标签: mongodb ruby-on-rails-4 rubygems mongoid5

添加完整宝石之后,所有测试都会失败并显示错误:

ActiveRecord::ConnectionNotEstablished:
 No connection pool for ActiveRecord::Base

我们正在使用:
宝石:

  • Rails 4.2.8
  • Mongoid 5
  • 整顿0.9.1
  • Rspec 3.4.4

另:

  • Os:Ubuntu 16.04LTE
  • MongoDB:3.4.3
  • 由docker-compose运行的数据库。
  • docker-compose版本1.12.0

进入开发模式一切正常 的 mongoid.yml

development:
  clients:
    default:
      database: development
      hosts:
        - localhost:27017
      options:
        heartbeat_frequency: 10
        local_threshold: 0.015
        server_selection_timeout: 30
        max_pool_size: 5
        min_pool_size: 1
        wait_queue_timeout: 1
        connect_timeout: 10
        socket_timeout: 5
        ssl: false
        ssl_cert: /path/to/my.cert
        ssl_key: /path/to/my.key
        ssl_key_pass_phrase: password
        ssl_verify: true
        ssl_ca_cert: /path/to/ca.cert
  options:
    include_root_in_json: false
    include_type_for_serialization: false
    preload_models: false
    raise_not_found_error: false
    scope_overwrite_exception: false
    use_activesupport_time_zone: true
    use_utc: false
    log_level: debug

test:
  clients:
    default:
      database: test
      hosts:
        - localhost:27017
      options:
        heartbeat_frequency: 10
        local_threshold: 0.015
        server_selection_timeout: 30
        max_pool_size: 1
        min_pool_size: 1
        wait_queue_timeout: 4
        connect_timeout: 10
        socket_timeout: 5
        ssl: false
        ssl_cert: /path/to/my.cert
        ssl_key: /path/to/my.key
        ssl_key_pass_phrase: password
        ssl_verify: true
        ssl_ca_cert: /path/to/ca.cert
  options:
    include_root_in_json: false
    include_type_for_serialization: false
    preload_models: false
    raise_not_found_error: false
    scope_overwrite_exception: false
    use_activesupport_time_zone: true
    use_utc: false
    log_level: debug

堆栈跟踪

ActiveRecord::ConnectionNotEstablished:
    No connection pool for ActiveRecord::Base
 # /home/user_home_directory/.rvm/gems/ruby-2.3.3@testing/gems/activerecord-4.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:570:in `retrieve_connection'
 # /home/user_home_directory/.rvm/gems/ruby-2.3.3@testing/gems/activerecord-4.2.8/lib/active_record/connection_handling.rb:113:in `retrieve_connection'
 # /home/user_home_directory/.rvm/gems/ruby-2.3.3@testing/gems/activerecord-4.2.8/lib/active_record/connection_handling.rb:87:in `connection'
 # /home/user_home_directory/.rvm/gems/ruby-2.3.3@testing/gems/activerecord-4.2.8/lib/active_record/fixtures.rb:501:in `create_fixtures'
 # /home/user_home_directory/.rvm/gems/ruby-2.3.3@testing/gems/activerecord-4.2.8/lib/active_record/fixtures.rb:979:in `load_fixtures'
 # /home/user_home_directory/.rvm/gems/ruby-2.3.3@testing/gems/activerecord-4.2.8/lib/active_record/fixtures.rb:952:in `setup_fixtures'
 # /home/user_home_directory/.rvm/gems/ruby-2.3.3@testing/gems/activerecord-4.2.8/lib/active_record/fixtures.rb:826:in `before_setup'

看起来测试数据库配置有一些简单的错误,但我无法确切地知道究竟是什么 任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

Rectify版本0.9.1不支持Mongoid Link适当的问题。