向表中添加列

时间:2013-02-05 08:11:40

标签: html ruby-on-rails ajax

如何将列添加到我的表Users

因为我进行了迁移,所以我必须执行以下操作:

rails generate migration AddShowmsgColumnToUsers show_msg:boolean

然后:

rake db:migrate

但我不确定“AddShowmsgColumnToUsers”。我怎么知道它是怎么想的?为什么不:AddShow_msgColumnToUsers?如果问题是多元化和单一化,我可以运行rails console并检查,但我怎么能知道大写字母:ShowMsg / Show_msg / Show_Msg / Showmsg?是否有一个命令可以帮助我检查它?

2 个答案:

答案 0 :(得分:1)

在回答第一个问题时,只要表名正确无关紧要--Rails使用您为列指定的参数而不是迁移名称。

另外,你应该一次只问一个问题......; - )

答案 1 :(得分:1)

如果生成迁移以添加列,则应使用camelcase或underscores。此外,您不必在迁移生成器中放置“Column”,使用Add ... To ...迁移已经知道您正在添加列。

所以:

rails generate migration AddShowMsgToUsers show_msg:boolean

或:

rails generate migration add_show_msg_to_users show_msg:boolean

是要走的路。迁移生成器将导致以下迁移:

class AddShowMsgToUsers < ActiveRecord::Migration
  def change
    add_column :users, :show_msg, :boolean
  end
end

当然你也可以手动完成所有操作,但是生成器的全部意义在于你不需要自己编写所有内容。