При сохранении объекта путем вызова Entity.create(:name => "Entity1")
из консоли Rails в тестовой среде (RAILS_ENV=test rails console
) объект «Entity1» правильно отображается в тестовой базе данных (MySQL) при проверке его с помощью клиента mysql.Но при выполнении тех же действий в файле rspec (entity.create(:name => "Entity1"); sleep 100
) и проверке тестовой базы данных во время функции сна она оказывается совершенно пустой.Почему так?Где находится сохраненная запись?(Мне нужно это в то время в базе данных, из-за некоторого тестирования Sphinx.)
Я просто хотел бы добавить, что запрос созданного Entity в спецификации работает нормально (даже если он не появляется в базе данныхклиент).Таким образом, кажется, что Rails делает здесь некоторые чудеса, которые я не совсем понимаю.
Еще более странно (по крайней мере, для меня ;-)) ... при выполнении Entity.connection.commit_db_transaction()
после создания объектазатем запись внезапно появляется в базе данных (но больше не очищается автоматически).