Slide 39
Slide 39 text
SQLite adapterͷίʔυ
# alter_table
def alter_table(table_name, options = {})
altered_table_name = "a#{table_name}"
caller = lambda { |definition| yield definition if block_given? }
transaction do
disable_referential_integrity do
move_table(table_name, altered_table_name,
options.merge(temporary: true))
move_table(altered_table_name, table_name, &caller)
end
end
end
# move_table
def move_table(from, to, options = {}, &block)
copy_table(from, to, options, &block)
drop_table(from)
end