diff options
author | Seb Bacon <seb.bacon@gmail.com> | 2012-07-19 13:06:28 +0100 |
---|---|---|
committer | Seb Bacon <seb.bacon@gmail.com> | 2012-07-19 13:06:28 +0100 |
commit | 8e86c94df9c68a3fb6144649e78548d411063e21 (patch) | |
tree | e81add0d1c532e019d41e19bb838901649c498c5 | |
parent | 2a70db0eb8c14fa14c6ca5fe6a738cee4f3f66df (diff) |
Use ActiveRecord to store sessions, rather than Cookies. Fixes #526.
-rw-r--r-- | config/initializers/session_store.rb | 2 | ||||
-rw-r--r-- | db/migrate/117_create_sessions.rb | 16 |
2 files changed, 17 insertions, 1 deletions
diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index bf40e99c1..3c3cbe5ad 100644 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -9,7 +9,7 @@ ActionController::Base.session = { :key => '_wdtk_cookie_session', :secret => MySociety::Config.get("COOKIE_STORE_SESSION_SECRET", 'this default is insecure as code is open source, please override for live sites in config/general; this will do for local development') } -ActionController::Base.session_store = :cookie_store +ActionController::Base.session_store = :active_record_store # Insert a bit of middleware code to prevent uneeded cookie setting. require "#{Rails.root}/lib/whatdotheyknow/strip_empty_sessions" diff --git a/db/migrate/117_create_sessions.rb b/db/migrate/117_create_sessions.rb new file mode 100644 index 000000000..4ccc353b1 --- /dev/null +++ b/db/migrate/117_create_sessions.rb @@ -0,0 +1,16 @@ +class CreateSessions < ActiveRecord::Migration + def self.up + create_table :sessions do |t| + t.string :session_id, :null => false + t.text :data + t.timestamps + end + + add_index :sessions, :session_id + add_index :sessions, :updated_at + end + + def self.down + drop_table :sessions + end +end |