【问题标题】:Changing a Active Record DB in Rails在 Rails 中更改 Active Record 数据库
【发布时间】:2009-08-10 06:32:48
【问题描述】:

我有一个基于数据库创建的 Rails 应用程序,其中包含一个名为“国家”的表,该表存储了世界上所有国家/地区的列表。现在我发现我将使用的实际数据库使用了一个名为“ctry”的表(我知道这很愚蠢)。我想弄清楚的是,是否有任何方法可以将活动记录指向这个新表,而不必从控制器名称、文件名等中换出“国家”中的每个实例。

我完全不确定这是否可以通过路由或其他人如何做到这一点。

这是现在存在的活动记录模型:

class countries < ActiveRecord::Base
end

【问题讨论】:

    标签: ruby-on-rails activerecord


    【解决方案1】:
    
    class Country &lt ActiveRecord::Base
        set_table_name "ctry"
    end
    

    http://api.rubyonrails.org/classes/ActiveRecord/Base.html#M002286

    【讨论】:

    • 谢谢。你大大节省了我的理智。我一直在搜索 ROR api,但没有运气。这绝对有帮助。再次感谢
    • 如果该数据库将仅被您的 Rails 应用程序使用,您还可以在 MySQL 中重命名该表:dev.mysql.com/doc/refman/5.0/en/rename-table.html
    • 进一步:您还可以使用“rename_table('ctry', 'countries')”在迁移中重命名表。
    • 谢谢你askegg,这实际上很有帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 2017-06-25
    相关资源
    最近更新 更多