我正在编写一个gem,它可以对plist文件进行一些复杂的解析/组合。
我认为使用ActiveRecord接口并将“结构”构建为内存数据库是有意义的。
宝石本身很好用。但是,我希望能够将它合并到Rails项目中。问题是我的gem在ActiveRecord :: Base上调用了establish_conneciton,它杀死了Rails应用程序之前的任何连接。
似乎有可能,因为ActiveRecord :: Base文档中有一节标题为:Connection to multiple databases in different models
这意味着您可以从ActiveRecord :: Base继承子类并在其上调用establish_connection。问题是您无法定义架构,因为ActiveRecord :: Schema.define使用当前在Base上设置的连接。
我认为这样做的唯一方法可能是将表构建到包含gem的Rails应用程序中。如果我能帮助它,我宁愿不去那条路。有什么想法吗?
如果我没有说清楚,你可以查看我的gem here的数据库设置文件。
非常感谢
答案 0 :(得分:0)
感谢您的评论。 Andrew Marshall:在这种情况下,我的表是临时的,仅供内存使用。
我找到了一个可能对任何偶然发现此问题的人有用的解决方案: Switching connection on ActiveRecord::Schema
再次感谢。