情况:我在数据库中有Rails模型和表正在运行。我不得不重命名表名(这不是小变化,几乎整个名称都改变了)现在我需要更改模型的名称,以便它对应于表的新名称。实现目标的最佳方法是什么?
从我发现的事情:rails destroy model model_name
然后生成新模型 - 但我不确定它是否会按照我希望的方式工作。
答案 0 :(得分:1)
如果您不想,您实际上不需要更改模型的名称。如this question中所述,您只需在模型中添加一行,即明确设置其表名。例如,如果您将表名从apples
更改为oranges
:
class Apple < ActiveRecord::Base
self.set_table_name("oranges")
...
end
这将允许您在整个应用程序中保持对模型的所有引用。如果您确实 更改了类名,则必须在整个代码中更新对该模型的所有引用。