我是Ruby on Rails的新手,我想知道是否有一种方法可以编辑模型的数据库模式。
例如,我的应用程序中有Subscriber模型 - 我创建它的方式是使用rails generate scaffold Subscriber email:string
但是现在,我想在订阅者模型中也有一个名字。有没有简单的方法来做到这一点?我在我当前的控制器和视图中放了很多代码,所以我不一定要破坏脚手架,但我想编辑模型。
提前致谢,
hwrd
P.S。我正在使用Ruby on Rails 3
答案 0 :(得分:12)
ActiveRecord模型检查它所代表的表。您实际上不需要更改模型只是为了添加新字段(除非您想添加验证等)。
您要做的是进行新的迁移,然后再迁移数据库:
rails g migration AddNameToSubscribers name:string
rake db:migrate
然后,您可以开始引用控制器和视图中的名称字段。
(此生成器命令可能看起来有些神奇,但rails生成器会识别此格式并生成相应的add_column
和remove_column
代码。请参阅Rails migration guide以进一步阅读。)
答案 1 :(得分:2)
如果您的意思是更改模型的数据库架构,则需要使用迁移。
你会做像
这样的事情add_column :city, :string
remove_column :boo
http://guides.rubyonrails.org/migrations.html
如果您只想找到模型并更新每个实例中的数据,请使用@ apneadiving的答案。