instance method
drop_table
Ruby on Rails 8.1.2
Since v4.1.16Signature
drop_table(*table_names, **options)
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. :temporary-
Set to
trueto drop temporary table. 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.
Parameters
-
table_namesrest -
optionskeyrest
Source
# File activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb, line 362
def drop_table(*table_names, **options)
table_names.each { |table_name| schema_cache.clear_data_source_cache!(table_name.to_s) }
execute "DROP#{' TEMPORARY' if options[:temporary]} TABLE#{' IF EXISTS' if options[:if_exists]} #{table_names.map { |table_name| quote_table_name(table_name) }.join(', ')}#{' CASCADE' if options[:force] == :cascade}"
end
Defined in activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb line 362
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter