instance method rename_column

Ruby on Rails 3.1.12

Since v3.1.12 Last seen in v3.1.12

Signature

rename_column(table_name, column_name, new_column_name)

No documentation comment.

Parameters

table_name req
column_name req
new_column_name req
Source
# 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

Defined in activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb line 530 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::ConnectionAdapters::Mysql2Adapter

Type at least 2 characters to search.

↑↓ navigate · open · esc close