instance method
remove_columns
Ruby on Rails edge
Signature
remove_columns(table_name, *column_names, type: nil, **options)
Removes the given columns from the table definition.
remove_columns(:suppliers, :qualification, :experience)
type and other column options can be passed to make migration reversible.
remove_columns(:suppliers, :qualification, :experience, type: :string, null: false)
Parameters
-
table_namereq -
column_namesrest -
typekey = nil -
optionskeyrest
Source
# File activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb, line 730
def remove_columns(table_name, *column_names, type: nil, **options)
if column_names.empty?
raise ArgumentError.new("You must specify at least one column name. Example: remove_columns(:people, :first_name)")
end
at = build_alter_table_definition(table_name)
column_names.each { |column_name| at.remove_column(column_name) }
execute_alter_table(at)
end
Defined in activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb line 730
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::ConnectionAdapters::SchemaStatements