Method: Sequel::Database#alter_table

Defined in:
lib/sequel/database/schema_methods.rb

#alter_table(name, generator = nil, &block) ⇒ Object

Alters the given table with the specified block. Here are the currently available operations:

DB.alter_table :items do
  add_column :category, :text, :default => 'ruby'
  drop_column :category
  rename_column :cntr, :counter
  set_column_type :value, :float
  set_column_default :value, :float
  add_index [:group, :category]
  drop_index [:group, :category]
end

Note that #add_column accepts all the options available for column definitions using create_table, and #add_index accepts all the options available for index definition.

See Schema::AlterTableGenerator.



42
43
44
45
46
# File 'lib/sequel/database/schema_methods.rb', line 42

def alter_table(name, generator=nil, &block)
  remove_cached_schema(name)
  generator ||= Schema::AlterTableGenerator.new(self, &block)
  alter_table_sql_list(name, generator.operations).flatten.each {|sql| execute_ddl(sql)}
end