method

rename_column

rails latest stable - Class: ActiveRecord::ConnectionAdapters::Mysql2Adapter

Method deprecated or moved

This method is deprecated or moved on the latest stable version. The last existing version (v3.1.0) is shown here.

rename_column(table_name, column_name, new_column_name)
public

No documentation available.

# File activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb, line 530
      def rename_column(table_name, column_name, new_column_name)
        options = {}
        if column = columns(table_name).find { |c| c.name == column_name.to_s }
          options[:default] = column.default
          options[:null] = column.null
        else
          raise ActiveRecordError, "No such column: #{table_name}.#{column_name}"
        end
        current_type = select_one("SHOW COLUMNS FROM #{quote_table_name(table_name)} LIKE '#{column_name}'")["Type"]
        rename_column_sql = "ALTER TABLE #{quote_table_name(table_name)} CHANGE #{quote_column_name(column_name)} #{quote_column_name(new_column_name)} #{current_type}"
        add_column_options!(rename_column_sql, options)
        execute(rename_column_sql)
      end