I’d like to be able to save sessions in a separate database.
I created the following model below in session.rb:
class Session < ActiveRecord::Base
self.abstract_class = true
establish_connection :userdb
end
I seem to be missing something however, as the server still tries to find the sessions table in the default database and not in the one I label as :userdb in my database.yml. What may that be?
Actually, connecting to this database works from the console. That is, doing a simple Session.find(1) will display the right results. However, rails isn’t even referring to this model to know which database to connect to.
So, what I think is lacking is something that connects rails’ use of the actual session to the Session model that I created.
Using a symbol works if the connection information is in database.yml.
You supply the name of the connection only, allowing you to keep all
database connections defined in one locaation.
Odd… After adding that require line, I get the following error when launching script/server:
=> Booting Mongrel (use ‘script/server webrick’ to force WEBrick)
=> Rails application starting on
http://0.0.0.0:3412
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3412
** Starting Rails with development environment…
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `require'
from /usr/local/lib/ruby/gems/1.8/gems/activesupport-
1.4.2/lib/active_support/dependencies.rb:495:in require' from /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.2/lib/active_support/dependencies.rb:342:in new_constants_in’
from /usr/local/lib/ruby/gems/1.8/gems/activesupport-
1.4.2/lib/active_support/dependencies.rb:495:in require' from /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/commands/server.rb:39 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in gem_original_require’
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from ./script/server:3
Resolved this after updating my gems, and then running script/about and I saw that it wasn’t loading the file path correctly.
So, my new problem is when reading session.rb, it says “uninitialized constant ActiveRecord”.