ruby on rails使用现有表进行迁移

时间:2018-05-29 11:20:05

标签: ruby-on-rails database-migration

我有这个问题。我需要在mysql数据库上使用现有的表。表的名称与RoR约定不兼容,我需要重新映射表名和属性的名称。我已经创建了一个脚手架,可以在网页上显示表格内容,但我无法更改映射。是否有解决方案向RoR指示类的名称与数据库中表的名称之间的关系?和一个解决方案,以指示类的属性和表上的字段之间的关系? 感谢。

2 个答案:

答案 0 :(得分:1)

可以使用table_name类方法指定表名。

对于attributes /列,您需要使用alias_attribute方法为属性显式指定别名。例如,如果您有name_of_thing列,但希望将其视为name,那么您的模型中需要这样的内容:

class CreateUtenti < ActiveRecord::Base
  self.table_name = "another_name"
  alias_attribute :name, :name_of_thing
end

答案 1 :(得分:0)

是的,你可以在模型中传递表名,如:

class YourModel < ActiveRecord::Base
  self.table_name = "pass_table_name_here"
end