Неопределенный add_column в Rails 3

Я пытаюсь выполнить миграцию в Rails 3, я хочу добавить столбец в таблицу, код выглядит так:

class AddConstAdr < ActiveRecord::Migration
  def change
    change_table: constants do |t|
      t.add_column :home_address, :string
    end
  end
end

Когда я делаю rake db:migrate, я получаю сообщение об ошибке, говорящее о неопределенном методе «add_column». Я в замешательстве, почему это происходит, может ли кто-нибудь помочь?


person Art F    schedule 26.11.2011    source источник
comment
Является ли change_table: constants опечаткой, которая должна быть change_table :constants?   -  person mu is too short    schedule 26.11.2011
comment
Артём: ты должен принять ответы, если они тебе помогли. Помимо вознаграждения людей, которые потратили свое время, чтобы помочь вам, это также помогает будущим посетителям найти правильные ответы.   -  person Sergio Tulentsev    schedule 02.01.2012


Ответы (2)


Кажется, вы смешиваете два разных способа миграции. Вы, вероятно, хотите этого:

def change
  change_table :constants do |t|
    t.string :home_address
  end
end

или это:

def change
  add_column :constants, :home_address, :string
end

Обе формы должны делать одно и то же: добавить столбец строки home_address в таблицу constants.

Я также предполагаю, что ваш change_table: constants - это просто опечатка, которая должна была быть change_table :constants.

Дополнительную информацию можно найти в Руководстве по миграции.

person mu is too short    schedule 26.11.2011

Вы должны сделать, как показано ниже:

def change
  add_column :constants, :home_address, :string
end
person WindStill    schedule 26.11.2011