我最近一直在构建一个应用程序,它有一个模型Books,它是一个数据库表,并链接到几个模型/控制器。我最近了解到,它需要被称为出版物(仅仅是一个例子)而不是书籍......
我现在想要更新整个应用程序中的数据库和所有提及。在Rails 3中是否有一种简单的方法可以做到这一点。或者我是否必须迁移该特定表(通过版本?)并手动更新整个应用程序中的所有引用?
由于
答案 0 :(得分:1)
修改强>
您可以继续使用相同的模型,从而在整个应用程序中保留引用。就是这样,由于您的新数据库模式,您必须为特定模型设置表名。还可以使用alias_attribute方法,以便即使您更改了列名也可以继续引用旧属性名称在你的桌子里。例如:
class Book < ActiveRecord::Base
set_table_name 'publications'
set_primary_key 'id'
alias_attribute :id,:publication_id
end
答案 1 :(得分:0)
不,没有办法自动重命名模型。
我的建议是简单地删除模型并使用新名称重新创建它,因为这通常比重命名创建时生成的所有文件更容易。但请确保您的迁移正确无误!
然而,至于代码,你必须以艰难的方式做到这一点。一些文本编辑器可以搜索/替换多个文件,这可能很方便。