aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
diff options
context:
space:
mode:
authorYves Senn <yves.senn@gmail.com>2014-12-18 10:07:23 +0100
committerYves Senn <yves.senn@gmail.com>2014-12-19 11:27:04 +0100
commitbe1e0241f012f1151d2448b10e14b8b2eda26b84 (patch)
treee3060d4868ebc476830e9939e4c275d4a2a8a0fc /activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
parent36ce0c2c821e2c9cca15e768842461f834825bf7 (diff)
downloadrails-be1e0241f012f1151d2448b10e14b8b2eda26b84.tar.gz
rails-be1e0241f012f1151d2448b10e14b8b2eda26b84.tar.bz2
rails-be1e0241f012f1151d2448b10e14b8b2eda26b84.zip
`force: :cascade` to recreate tables referenced by foreign-keys.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
index f29b793a3f..7ba5437474 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb
@@ -120,6 +120,10 @@ module ActiveRecord
SQL
end
+ def drop_table(table_name, options = {})
+ execute "DROP TABLE #{quote_table_name(table_name)}#{' CASCADE' if options[:force] == :cascade}"
+ end
+
# Returns true if schema exists.
def schema_exists?(name)
exec_query(<<-SQL, 'SCHEMA').rows.first[0].to_i > 0