Mel*_*lon 15 ruby-on-rails ruby-on-rails-3
我有一个Active Record模型"car",我想将这个模型的名称更改为"train" 而不改变其中的功能,这只会改变名称.此外,表名应更改为"train".
是否有任何rails命令可以在onece上执行此操作?或者我必须手动更改类或迁移中的名称?如果我必须手动更换,那将会很复杂,因为我还必须更改与我的"汽车"模型有关联的其他模型.
有什么好建议吗?
Mel*_*lon 33
我想出了以下方法:
1,生成迁移文件:
rails generate migration rename_cars_to_trains
Run Code Online (Sandbox Code Playgroud)
将创建的迁移文件编辑为:
class RenameCarsToTrains < ActiveRecord::Migration
def self.up
rename_table :cars, :trains
end
def self.down
rename_table :trains, :cars
end
end
Run Code Online (Sandbox Code Playgroud)rake db:migrate
在这些步骤之后,表名从汽车变为火车,然后,我必须手动更改控制器并查看名称和关联...
如果您有更有效的方式,请告诉我......
had*_*ade 18
我会推荐以下内容:
1)将Active Record模型类手动更改为Train
2)进行迁移以将数据库表名称从汽车更改为火车
3)进行良好的搜索以更改从汽车到火车的参考.
如果您经常需要更改数据库表名称,则可能需要重新考虑以更抽象的方式命名表.就像在这种情况下你可以有一个叫做车辆的表,并有"type"字段指定类型(例如:汽车或火车).
| 归档时间: |
|
| 查看次数: |
19477 次 |
| 最近记录: |