aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--railties/CHANGELOG2
-rw-r--r--railties/lib/tasks/databases.rake21
2 files changed, 8 insertions, 15 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG
index bc27d2692e..ed2562e136 100644
--- a/railties/CHANGELOG
+++ b/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]
diff --git a/railties/lib/tasks/databases.rake b/railties/lib/tasks/databases.rake
index 886db456f0..4ae88ac7ce 100644
--- a/railties/lib/tasks/databases.rake
+++ b/railties/lib/tasks/databases.rake
@@ -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