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 |