Agile Web Development

Build it. Launch it. Love it.

SQL Session Store

Only Mysql, Postgres and Oracle are currently supported (others work, but you won’t see much performance improvement).

Step 1

If you have generated your sessions table using rake db:sessions:create, go to Step 2

If you’re using an old version of sql_session_store, run

    script/generate sql_session_store DB

where DB is mysql, postgresql or oracle

Then run

    rake migrate

or

    rake db:migrate

for edge rails.

Step 2

Add the code below after the initializer config section:

    ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.
      update(:database_manager => SqlSessionStore)

Finally, depending on your database type, add

    SqlSessionStore.session_class = MysqlSession

or

    SqlSessionStore.session_class = PostgresqlSession

or

    SqlSessionStore.session_class = OracleSession

after the initializer section in environment.rb

Step 3 (optional)

If you want to use a database separate from your default one to store your sessions, specify a configuration in your database.yml file (say sessions), and establish the connection on SqlSession in environment.rb:

   SqlSession.establish_connection :sessions

IMPORTANT NOTES

  1. The class name SQLSessionStore has changed to SqlSessionStore to let Rails work its autoload magic.
  2. You will need the binary drivers for Mysql or Postgresql. These have been verified to work:
    • ruby-postgres (0.7.1.2005.12.21) with postgreql 8.1
    • ruby-mysql 2.7.1 with Mysql 4.1
    • ruby-mysql 2.7.2 with Mysql 5.0

See http://railsexpress.de/blog/articles/2006/09/15/sqlsessionstore-now-available-as-a-plugin

Vitals

Home http://railsexpress.de/blog/articles/2006/09/15/sqlsessionstore-now-available-as-a-plugin
Repository http://railsexpress.de/svn/plugins/sql_session_store/trunk
License Rails' (MIT)
Tags Tag_red
Rating (9 votes)
Owner Stefan Kaes
Created 5 February 2007

Comments

Add a comment