Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added :force option to create_table that'll try to drop the table if …

…it already exists before creating

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2473 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
commit 0639e1ca7c63afa79b54cc1eb73871026f9b473d 1 parent 0da7142
David Heinemeier Hansson dhh authored
2  activerecord/CHANGELOG
View
@@ -1,5 +1,7 @@
*SVN*
+* Added :force option to create_table that'll try to drop the table if it already exists before creating
+
* Fix transactions so that calling return while inside a transaction will not leave an open transaction on the connection. [Nicholas Seckar]
* Use foreign_key inflection uniformly. #2156 [Blair Zajac <blair@orcaware.com>]
5 activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
View
@@ -79,6 +79,11 @@ def create_table(name, options = {})
table_definition.primary_key(options[:primary_key] || "id") unless options[:id] == false
yield table_definition
+
+ if options[:force]
+ drop_table(name) rescue nil
+ end
+
create_sql = "CREATE#{' TEMPORARY' if options[:temporary]} TABLE "
create_sql << "#{name} ("
create_sql << table_definition.to_sql
1  activerecord/lib/active_record/schema_dumper.rb
View
@@ -53,6 +53,7 @@ def table(table, stream)
stream.print " create_table #{table.inspect}"
stream.print ", :id => false" if !columns.detect { |c| c.name == "id" }
+ stream.print ", :force => true"
stream.puts " do |t|"
columns.each do |column|
Please sign in to comment.
Something went wrong with that request. Please try again.