Method: ActiveRecord::ConnectionAdapters::SchemaStatements#change_column_default

Defined in:
activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb

#change_column_default(table_name, column_name, default_or_changes) ⇒ Object

Sets a new default value for a column:

change_column_default(:suppliers, :qualification, 'new')
change_column_default(:accounts, :authorized, 1)

Setting the default to nil effectively drops the default:

change_column_default(:users, :email, nil)

Passing a hash containing :from and :to will make this change reversible in migration:

change_column_default(:posts, :state, from: nil, to: "draft")

Raises:

  • (NotImplementedError)


648
649
650
# File 'activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb', line 648

def change_column_default(table_name, column_name, default_or_changes)
  raise NotImplementedError, "change_column_default is not implemented"
end