现在,我无法更改我的数据库。 (每个表中有数百万行)
但我想创建我的rails应用程序。
我的数据库绝对不标准。
表名:something_people
字段:stid, stname, stfirstname, stage
我知道要更改table_name:
class People < ActiveRecord::Base
self.table_name = "something_people"
end
我想重命名字段。要在我的rails应用程序中使用该符号,并且当我更改数据库结构时,我只需要更改模型类。
class People < ActiveRecord::Base
self.table_name = "something_people"
self.field_name(:id) = "stid"
self.field_name(:name) = "stname"
self.field_name(:firstname) = "stfirstname"
self.field_name(:age) = "stage"
end
查询示例:
@countid = People.where(hash_of_conds).count(:id)
是
SELECT COUNT(stid) FROM something_people WHERE myconditions;
提问:如何做我想做的事?
如果你不明白,请告诉我。
谢谢。
答案 0 :(得分:1)
你可以创建别名
class User < Activerecord::Base
alias_attribute :id, :stid
alias_attribute :name, :stname
end
但是当你有这样的查询时
User.where("stname like '%ab%'")
您必须在数据库中指定实际的列名