Updating to use Rails 2.1.2. Moving the gem dependancies to the config/environment...
[rails.git] / vendor / plugins / sql_session_store / generators / sql_session_store / templates / migration.rb
1 class <%= migration_name %> < ActiveRecord::Migration
2
3   class Session < ActiveRecord::Base; end
4
5   def self.up
6     c = ActiveRecord::Base.connection
7     if c.tables.include?('sessions')
8       if (columns = Session.column_names).include?('sessid')
9         rename_column :sessions, :sessid, :session_id
10       else
11         add_column :sessions, :session_id, :string unless columns.include?('session_id')
12         add_column :sessions, :data, :text unless columns.include?('data')
13         if columns.include?('created_on')
14           rename_column :sessions, :created_on, :created_at
15         else
16           add_column :sessions, :created_at, :timestamp unless columns.include?('created_at')
17         end
18         if columns.include?('updated_on')
19           rename_column :sessions, :updated_on, :updated_at
20         else
21           add_column :sessions, :updated_at, :timestamp unless columns.include?('updated_at')
22         end
23       end
24     else
25       create_table :sessions, :options => '<%= database == "mysql" ? "ENGINE=MyISAM" : "" %>' do |t|
26         t.column :session_id, :string
27         t.column :data,       :text
28         t.column :created_at, :timestamp
29         t.column :updated_at, :timestamp
30       end
31       add_index :sessions, :session_id, :name => 'session_id_idx'
32     end
33   end
34
35   def self.down
36     raise IrreversibleMigration
37   end
38 end