Method: ActiveRecord::ConnectionAdapters::SchemaStatements#drop_table
- Defined in:
- activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
#drop_table(*table_names, **options) ⇒ Object
Drops a table or tables from the database.
:force-
Set to
:cascadeto drop dependent objects as well. Defaults to false. :if_exists-
Set to
trueto only drop the table if it exists. Defaults to false.
Although this command ignores most options and the block if one is given, it can be helpful to provide these in a migration’s change method so it can be reverted. In that case, options and the block will be used by #create_table except if you provide more than one table which is not supported.
540 541 542 543 544 545 |
# File 'activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb', line 540 def drop_table(*table_names, **) table_names.each do |table_name| schema_cache.clear_data_source_cache!(table_name.to_s) execute "DROP TABLE#{' IF EXISTS' if options[:if_exists]} #{quote_table_name(table_name)}" end end |