是的,这个问题充斥在这里,但大多数是几年前我正在使用Rails 4.我已经尝试了几个,它搞砸了我的rails应用程序,所以我不会再采取任何机会。
我已经创建了一个带有字段的脚手架,我对其模型,控制器和视图进行了很多更改。想象一下,几个星期之后,当你创建了一个脚手架后,他们正在为某人工作,他们意识到他们错过了一个重要的专栏 - 大声笑
rails g scaffold Book a:string b:integer
如何轻松添加c:date
?
很少有示例显示正在运行迁移,很少有人说要编辑rails控制台。我对rails g migration add_this_to_that c:data
??
我对你的答案的任何参考都非常感激,因为我还在学习RoR。
答案 0 :(得分:6)
要添加新列,您应该创建迁移:
rails g migration add_c_to_books c:date
(请注意语法:add_x_to_y),它会将此文件添加到 db / migrate / 时间戳 _add_c_to_books.rb :
class AddCToBooks < ActiveRecord::Migration
def change
add_column :books, :c, :date
end
end
现在您只需要运行它:
rake db:migrate
就是这样。
您可以添加多个列:
rails g migration add_c_d_e_to_books c:date d:string e:integer
将创建以下迁移:
class AddCDEToBooks < ActiveRecord::Migration
def change
add_column :books, :c, :date
add_column :books, :d, :string
add_column :books, :e, :integer
end
end
或者根据需要命名:
rails g migration my_migration
这将导致干净的迁移:
class MyMigration < ActiveRecord::Migration
def change
end
end
您可以在def change
内指定您的指令。