add_column(table_name, column_name, type, options = {})
public
Adds a new
column to the named table. See TableDefinition#column for details of the
options you can use.
# File activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb, line 807
def add_column(table_name, column_name, type, options = {})
default = options[:default]
notnull = options[:null] == false
# Add the column.
execute("ALTER TABLE #{quote_table_name(table_name)} ADD COLUMN #{quote_column_name(column_name)} #{type_to_sql(type, options[:limit], options[:precision], options[:scale])}")
change_column_default(table_name, column_name, default) if options_include_default?(options)
change_column_null(table_name, column_name, false, default) if notnull
end