-
Type: Task
-
Resolution: Done
-
Affects Version/s: None
-
Component/s: None
I'm currently using Rails 3.2.11 with Mongoid 3.0.17 (moped 1.3.2, origin 1.0.11) and when I open the Rails console in the "test" environment the Mongoid::Session.default.collections is empty. However, if I start the console in "development" the collections array is not empty.
Here's the mongoid.yml:
development:
sessions:
default:
database: admin_dev
hosts:
- server-a.com:27017
test:
sessions:
default:
database: admin_test
hosts:
- server-a.com:27017
I became aware of this problem when a spec failed b/c of a validation error. I noticed the collections weren't being emptied (even though I was calling Mongoid.truncate!.
I fired up the rails console:
rails c test
> Mongoid::Sessions.default.collections
=> []
> Mongoid::Threaded.sessions[:default].collections
=> []
I can also get the collection from a model and access its session, however, that still shows no collections from it:
> MyModel.collection.database.session.collections
=> []
Any idea why the collections array is empty in "test" and not in "development"? I confirmed it is connected to the correct database and that data exists in the collections by doing a count on one of my models.