Rails代码库扩展和更改ActiveRecord

时间:2015-02-17 21:52:38

标签: ruby-on-rails ruby-on-rails-4 activerecord ruby-on-rails-3.2 rails-activerecord

我目前正在重写我们的rails服务器代码,因为我们的项目开始已经过去了好几个月,而且还有很多死代码。我们需要从Rails 3.2.12迁移到Rails 4.问题是我们需要重命名一些模型,还需要它们连接到相同的PostgresSQL数据库(ActiveRecord)和{{1对象。

例如:

Redis

要:

#api v1
class ModelA < ActiveRecord::Base
  include Redis::Objects
    ...
    attr_accessible :id, :text_body
    ...
    set something_redis_ids #redis object
    ...
end

我希望#api v2 class RenamedModelB < ActiveRecord::Base include Redis::Objects ... attr_accessible :id, :text_body ... set something_redis_ids #redis object ... end RenamedModelBid来自text_body以及PSQL来自redis指向完全相同something_redis_ids中的项目。我们如何做到这一点?我们更喜欢从头开始重写代码库,所以我们真的不想在旧的丑陋ModelA之上构建。

感谢您花时间阅读。

1 个答案:

答案 0 :(得分:0)

您对现有表名与您的新类名不匹配的问题是什么?如果是这样,你可以简单地覆盖它:

class Product < ActiveRecord::Base
  self.table_name = "PRODUCT"
end

http://guides.rubyonrails.org/active_record_basics.html#overriding-the-naming-conventions