我的应用需要一次导入数百到数千条记录。记录是树结构中的每个节点。我正在使用activerecord-import来显着加快导入速度,还没有确定哪个祖先,closure_tree,acts_as_list或用于设置层次结构的自定义解决方案。
我正在努力解决的问题是如何在一次或几次传递中导入所有数据和关系。我的草案天真的解决方案是:
这感觉就像一个有明显问题的黑客。例如,如果在我仍然实例化我的对象时数据库使用了我为我的对象选择的id,那么我手动设置的关系就变得无用/错误。
另一个主要问题是,当我研究树数据结构的更高级解决方案(例如closure_tree和ancestry)时,手动设置这些gems所需的字段感觉越来越像黑客。
所以我想我的问题是,是否有一种干净的方法可以在rails activerecord数据库中设置N个节点的树结构,同时触摸数据库少于N次?
答案 0 :(得分:0)
主分支有一个commit具有此功能。它只适用于Rails 4和Postgres。
如果您碰巧有其他配置,则需要:
Model.import
它