我正在尝试在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'。我很困惑为什么会这样,有人可以帮忙吗?
答案 0 :(得分:11)
您似乎混合了两种不同的迁移方式。你可能想要这个:
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
的拼写错误。
答案 1 :(得分:2)
您应该执行以下操作:
def change
add_column :constants, :home_address, :string
end