代码之家  ›  专栏  ›  技术社区  ›  Jed Schneider

在gem中使用ActiveRecord模型-如何处理数据库配置

  •  2
  • Jed Schneider  · 技术社区  · 14 年前

    我在rails应用程序中有几个活动记录模型,我想将这些模型提取到gem中,以便在几个web应用程序中轻松使用它们。这个过程看起来很简单,除了传递模型的配置。我是否:

    1. 将配置yaml文件添加到gem中,从而确保数据库在所有应用程序中始终是相同的-似乎很严格,尤其是对于测试和开发,尽管用于生产的数据库始终是一致的。
    2. 使用ActiveRecord挂钩查找数据库.yml在config目录中定义数据库的文件?如果是的话,我应该用哪种钩子?
    3. 这是个愚蠢的主意。如果你有更好的办法来处理,我洗耳恭听。我不想复制粘贴。
    2 回复  |  直到 14 年前
        1
  •  3
  •   Andrew Vit    14 年前

    您应该使用主机rails应用程序的数据库配置。您的插件或gem应该只包含数据库迁移,以及从宿主rails应用程序运行它们的rake任务(例如。 myplugin:db:migrate

    myplugin:install )将其复制到主机应用程序的config目录。(此任务也可以自动调用db:migrate任务。)

        2
  •  1
  •   Ashwin Phatak    14 年前

    我会把所有的模型放到一个插件中,并将其包含在每个需要模型的rails应用程序中。