aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2007-01-15 00:34:43 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2007-01-15 00:34:43 +0000
commite3103441114b1c5e7b67b71efa9c0b44e03645e6 (patch)
tree54bfe03ea0ef7637367bfb04e0200f939d9594cd /activerecord/lib/active_record/connection_adapters
parent9ccb12a3dda123942def21834eedb761299f67b9 (diff)
downloadrails-e3103441114b1c5e7b67b71efa9c0b44e03645e6.tar.gz
rails-e3103441114b1c5e7b67b71efa9c0b44e03645e6.tar.bz2
rails-e3103441114b1c5e7b67b71efa9c0b44e03645e6.zip
Oracle: create_table takes a :sequence_name option to override the 'tablename_seq' default. Closes #7000.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5933 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters')
-rw-r--r--activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb4
-rw-r--r--activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb2
-rw-r--r--activerecord/lib/active_record/connection_adapters/oracle_adapter.rb8
3 files changed, 8 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
index 8a8d956ca8..8891c10c7c 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
@@ -94,7 +94,7 @@ module ActiveRecord
yield table_definition
if options[:force]
- drop_table(name) rescue nil
+ drop_table(name, options) rescue nil
end
create_sql = "CREATE#{' TEMPORARY' if options[:temporary]} TABLE "
@@ -112,7 +112,7 @@ module ActiveRecord
end
# Drops a table from the database.
- def drop_table(name)
+ def drop_table(name, options = {})
execute "DROP TABLE #{name}"
end
diff --git a/activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb b/activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb
index db9d2ccf3d..cd48978f4e 100644
--- a/activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/frontbase_adapter.rb
@@ -778,7 +778,7 @@ module ActiveRecord
end
# Drops a table from the database.
- def drop_table(name)
+ def drop_table(name, options = {})
execute "DROP TABLE #{name} RESTRICT"
rescue ActiveRecord::StatementInvalid => e
raise e unless e.message.match(/Referenced TABLE - \w* - does not exist/)
diff --git a/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb b/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb
index 53cf2a439a..6a0209fceb 100644
--- a/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/oracle_adapter.rb
@@ -351,7 +351,8 @@ begin
def create_table(name, options = {}) #:nodoc:
super(name, options)
- execute "CREATE SEQUENCE #{name}_seq START WITH 10000" unless options[:id] == false
+ seq_name = options[:sequence_name] || "#{name}_seq"
+ execute "CREATE SEQUENCE #{seq_name} START WITH 10000" unless options[:id] == false
end
def rename_table(name, new_name) #:nodoc:
@@ -359,9 +360,10 @@ begin
execute "RENAME #{name}_seq TO #{new_name}_seq" rescue nil
end
- def drop_table(name) #:nodoc:
+ def drop_table(name, options = {}) #:nodoc:
super(name)
- execute "DROP SEQUENCE #{name}_seq" rescue nil
+ seq_name = options[:sequence_name] || "#{name}_seq"
+ execute "DROP SEQUENCE #{seq_name}" rescue nil
end
def remove_index(table_name, options = {}) #:nodoc: