And*_*ton 24 ruby model ruby-on-rails
如何修改使用建模生成的模型?例如,模型myModel最初有列a,b和c,但我现在想要添加列d.
Boo*_*reg 25
Rails 3及以上版本使用以下代码:
rails generate migration add_fieldname_id_to_tablename fieldname:string
Run Code Online (Sandbox Code Playgroud)
Rails 2
ruby script/generate migration add_fieldname_to_tablename fieldname:string
Run Code Online (Sandbox Code Playgroud)
这不再有效,并在Rails 3中返回以下错误:
ruby:没有这样的文件或目录 - script/generate(LoadError)
Luk*_*uke 19
ruby script/generate migration add_fieldname_to_tablename fieldname:string
Run Code Online (Sandbox Code Playgroud)
这是完全按照您的意愿执行的快捷方法.如果你需要更多控制,或者你需要添加很多列,Andrew H的答案也可以正常工作.
And*_*ton 12
到目前为止我找到的最佳答案是从您的项目根目录运行:
ruby script/generate migration add_d_column_to_myModel
Run Code Online (Sandbox Code Playgroud)
然后编辑位于db/migration中的新迁移文件,如下所示:
def self.up
add_column :myModel, :d, :string
end
def self.down
remove_column :myModel, :d
end
Run Code Online (Sandbox Code Playgroud)
最后一步是相应地更新您的视图.
答案在这里找到
表函数在这里找到