3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
|
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 3362
def change_column(table_name, column_name, type, options = {})
data_type = @adapter.type_to_sql(type, options[:limit], options[:precision], options[:scale])
sql = "ALTER TABLE #{table_name} ALTER COLUMN #{column_name} SET DATA TYPE #{data_type}"
execute_and_auto_confirm(sql)
reorg_table(table_name)
if options.include?(:default) and options.include?(:null)
if options[:null] or options[:default].nil?
change_column_null(table_name, column_name, type, options[:null])
change_column_default(table_name, column_name, options[:default])
else
change_column_default(table_name, column_name, options[:default])
change_column_null(table_name, column_name, type, options[:null])
end
elsif options.include?(:default)
change_column_default(table_name, column_name, options[:default])
elsif options.include?(:null)
change_column_null(table_name, column_name, type, options[:null])
end
end
|