2011-01-07 89 views
8

我对Ruby on Rails很新,我想知道是否有方法编辑模型的数据库模式。从命令行编辑导轨模型

例如,我有订购模式在我的应用 - 我创建的方式是通过使用rails generate scaffold Subscriber email:string

但现在,我想在用户模型的名称为好。有没有简单的方法来做到这一点?我在当前的控制器和视图中放了很多代码,所以我不一定要销毁脚手架,但我想编辑模型。

由于提前,

hwrd

附:我正在使用Ruby on Rails 3

+1

阅读HTTP://guides.rubyonrails .org/active_record_migrations.html应该非常有帮助。 – Hong 2016-03-25 01:40:59

回答

12

ActiveRecord模型检查它所表示的表。你并不需要改变你的模型来添加一个新的字段(除非你想添加验证等)。

你想要做的是使一个新的迁移,然后迁移数据库了:

rails g migration AddNameToSubscribers name:string 
rake db:migrate 

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

(该发电机命令似乎有点不可思议,但铁轨发电机识别这种格式,并会产生相应的add_columnremove_column代码见Rails migration guide进一步阅读。)

2

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

你会不喜欢

add_column :city, :string 
remove_column :boo 

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

的事情,如果你只意味着找到模型和更新每个实例里面的数据,一起去@ apneadiving的答案。

+0

感谢您的及时回复。我的意思是改变数据库模式 - 对不起,我没有说清楚。在这个命令之后,我的模式会被更新为好吗?另外,作为一个附注 - remove_column是否还会打击该模型列中的所有/所有数据? – hwrdprkns 2011-01-07 19:31:32

+0

@ hwrdprkns,当一个列从表中删除时,所有的数据都会丢失。而且@Jesse Wolgamott所说的与@Josh Lindsey所说的基本相同...... – Zabba 2011-01-07 19:37:05