从命令行编辑Rails模型

时间:2011-01-07 19:18:02

标签: ruby-on-rails ruby-on-rails-3 data-modeling scaffolding

我是Ruby on Rails的新手,我想知道是否有一种方法可以编辑模型的数据库模式。

例如,我的应用程序中有Subscriber模型 - 我创建它的方式是使用rails generate scaffold Subscriber email:string

但是现在,我想在订阅者模型中也有一个名字。有没有简单的方法来做到这一点?我在我当前的控制器和视图中放了很多代码,所以我不一定要破坏脚手架,但我想编辑模型。

提前致谢,

hwrd

P.S。我正在使用Ruby on Rails 3

2 个答案:

答案 0 :(得分:12)

ActiveRecord模型检查它所代表的表。您实际上不需要更改模型只是为了添加新字段(除非您想添加验证等)。

您要做的是进行新的迁移,然后再迁移数据库:

rails g migration AddNameToSubscribers name:string
rake db:migrate

然后,您可以开始引用控制器和视图中的名称字段。

(此生成器命令可能看起来有些神奇,但rails生成器会识别此格式并生成相应的add_columnremove_column代码。请参阅Rails migration guide以进一步阅读。)

答案 1 :(得分:2)

如果您的意思是更改模型的数据库架构,则需要使用迁移。

你会做像

这样的事情
add_column :city, :string
remove_column :boo

http://guides.rubyonrails.org/migrations.html

如果您只想找到模型并更新每个实例中的数据,请使用@ apneadiving的答案。