代码之家  ›  专栏  ›  技术社区  ›  ankushnarula

Rails与非Rails数据库设计

  •  3
  • ankushnarula  · 技术社区  · 17 年前

    完全新手研究轨道。Rails能否与不符合Rails默认命名和设计约定的只读模式一起使用?

    例如,我的数据库模式具有使用字符串列作为唯一主键的基表。例如,名为Jobs的基表可能具有定义为Jobs.Job的唯一主键,其值可能为“D01234”。现在,作业的子实体可能是CostCodes,其中唯一的主键是CostCodes.Job(返回作业表的FK引用)和CostCodes.CostCode(本地字符串列)的集合。

    为了它的价值。。。这是stock Sage Timberline Office数据库。

    有什么建议吗?

    4 回复  |  直到 17 年前
        1
  •  5
  •   Mike Woodhouse    17 年前

    是的,可以做到。

    戴夫·托马斯 a blog post 描述一些必要的内容:指令,如

    set_table_name  "orders"
    set_primary_key "o_id"
    

    更多参考资料:

        2
  •  4
  •   Gavin    17 年前

    您需要打开特定表的模型,并设置以下内容:

    set_table_name 'user'
    set_primary_key 'user_name'
    

    如果要管理关系,可能需要显式指定联接表:

    has_and_belongs_to_many :page, :join_table => 'user_page'
    
        3
  •  1
  •   Sarah Mei    17 年前

    是的,ActiveRecord(默认的ORM)可以让你定制你需要定制的关于你正在访问的数据库的任何东西——详情请参阅Mike和Robotsu的答案。

    您还可以用另一种更灵活的ORM替换ActiveRecord。 DataMapper 这是一个替代品,似乎有一些牵引力。

        4
  •  0
  •   nitecoder    17 年前

    其他答案已经涵盖了你的问题,但是所有这些ActiveRecord问题的一个很好的资源是Apress的Pro-ActiveRecord,它非常好,你应该去查阅。