change_column_default(table_name, column_name, default) public

Sets a new default value for a column. If you want to set the default value to NULL, you are out of luck. You need to DatabaseStatements#execute the appropriate SQL statement yourself.

change_column_default(:suppliers, :qualification, 'new')
change_column_default(:accounts, :authorized, 1)
Show source
Register or log in to add new notes.
July 20, 2014
0 thanks

change_column did the trick for me

Use change_column, and make sure to specify the datatype:

class ChangeUsers < ActiveRecord::Migration
  def up
	change_column :users, :is_vote_reminder, :boolean, :default => true
October 10, 2008
8 thanks

Implemented in database adapters

These methods are not implemented in the abstract classes. Instead, all database adapters implement these separately, if the feature is supported.

July 30, 2009
2 thanks

How to set default value to NULL

To set default value to NULL you can use change_column method instead, for example:

change_column :suppliers, :qualification, :string, :default => nil

Just make sure you don’t change data type accidentally ;-)

October 10, 2008 - (v2.1.0)
1 thank

Not implented yet

According to this method’s source, change_column_default is not implemented as well as change_column