Navigation Menu

Skip to content

Commit

Permalink
Replaced old session rake tasks with db:sessions:create to generate a…
Browse files Browse the repository at this point in the history
… migration, and db:sessions:clear to remove sessions. [Rick Olson]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3995 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information
technoweenie committed Mar 20, 2006
1 parent 6d73357 commit 30c42b2
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 15 deletions.
2 changes: 2 additions & 0 deletions railties/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*

* Replaced old session rake tasks with db:sessions:create to generate a migration, and db:sessions:clear to remove sessions. [Rick Olson]

* Reject Ruby 1.8.3 when loading Rails; extract version checking code. [Chad Fowler]

* Remove explicit loading of RailsInfo and RailsInfoController. [Nicholas Seckar]
Expand Down
21 changes: 6 additions & 15 deletions railties/lib/tasks/databases.rake
Expand Up @@ -143,24 +143,15 @@ namespace :db do
desc "Creates a sessions table for use with CGI::Session::ActiveRecordStore"
task :create => :environment do
raise "Task unavailable to this database (no migration support)" unless ActiveRecord::Base.connection.supports_migrations?

ActiveRecord::Base.connection.create_table(session_table_name) do |t|
t.column :session_id, :string
t.column :data, :text
t.column :updated_at, :datetime
end

ActiveRecord::Base.connection.add_index(session_table_name, :session_id)
require 'rails_generator'
require 'rails_generator/scripts/generate'
Rails::Generator::Scripts::Generate.new.run(["session_migration", ENV["MIGRATION"] || "AddSessionTable"])
end

desc "Drop the sessions table"
task :drop => :environment do
desc "Clear the sessions table"
task :clear => :environment do
raise "Task unavailable to this database (no migration support)" unless ActiveRecord::Base.connection.supports_migrations?
ActiveRecord::Base.connection.drop_table(session_table_name)
end

desc "Drop and recreate the session table (much faster than 'DELETE * FROM sessions')"
task :recreate => [ "db:sessions:drop", "db:sessions:create" ] do
ActiveRecord::Base.connection.execute "DELETE FROM sessions"
end
end
end
Expand Down

0 comments on commit 30c42b2

Please sign in to comment.