Method: ActiveRecord::ConnectionAdapters::SchemaStatements#remove_columns
- Defined in:
- activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb
#remove_columns(table_name, *column_names, type: nil, **options) ⇒ Object
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)
675 676 677 678 679 680 681 682 |
# File 'activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb', line 675 def remove_columns(table_name, *column_names, type: nil, **) if column_names.empty? raise ArgumentError.new("You must specify at least one column name. Example: remove_columns(:people, :first_name)") end remove_column_fragments = remove_columns_for_alter(table_name, *column_names, type: type, **) execute "ALTER TABLE #{quote_table_name(table_name)} #{remove_column_fragments.join(', ')}" end |