diff options
Diffstat (limited to 'railties/lib')
3 files changed, 13 insertions, 5 deletions
diff --git a/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb b/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb index a513fa5cbf..2e177033a1 100644 --- a/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb +++ b/railties/lib/rails_generator/generators/components/session_migration/session_migration_generator.rb @@ -6,7 +6,13 @@ class SessionMigrationGenerator < Rails::Generator::NamedBase def manifest record do |m| - m.migration_template 'migration.rb', 'db/migrate' + m.migration_template 'migration.rb', 'db/migrate', + :assigns => { :session_table_name => default_session_table_name } end end + + protected + def default_session_table_name + ActiveRecord::Base.pluralize_table_names ? 'session'.pluralize : 'session' + end end diff --git a/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb b/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb index 0ab7fcb1e9..c76bd8dde4 100644 --- a/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb +++ b/railties/lib/rails_generator/generators/components/session_migration/templates/migration.rb @@ -1,15 +1,15 @@ class <%= class_name %> < ActiveRecord::Migration def self.up - create_table :sessions do |t| + create_table :<%= session_table_name %> do |t| t.column :session_id, :string t.column :data, :text t.column :updated_at, :datetime end - add_index :sessions, :session_id + add_index :<%= session_table_name %>, :session_id end def self.down - drop_table :sessions + drop_table :<%= session_table_name %> end end diff --git a/railties/lib/tasks/databases.rake b/railties/lib/tasks/databases.rake index 4c85263398..4394febd03 100644 --- a/railties/lib/tasks/databases.rake +++ b/railties/lib/tasks/databases.rake @@ -151,7 +151,9 @@ namespace :db do desc "Clear the sessions table" task :clear => :environment do - ActiveRecord::Base.connection.execute "DELETE FROM sessions" + session_table = 'session' + session_table = Inflector.pluralize(session_table) if ActiveRecord::Base.pluralize_table_names + ActiveRecord::Base.connection.execute "DELETE FROM #{session_table}" end end end |