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 :cascade to drop dependent objects as well. Defaults to false.

:if_exists

Set to true to 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, **options)
  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