问题标签 [activerecord-import]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2584 浏览

mysql - 将大型数据集加载到 Rails 应用程序中

我正在处理要作为模型加载到 Rails 应用程序中的数百万行数据。我使用 MySQL 作为数据库,我在 Rails 2.3.14 上。

我的一位同事说,绕过 Rails ActiveRecord 系统直接向 MySQL 添加记录是不可取的。他没有具体说明,但要点是当您使用它的 ActiveRecord 系统时,Rails 做了很多“魔术”,如果您在该系统之外输入数据,它会混淆 Rails。有人可以详细说明这是否准确吗?

如果我应该通过 ActiveRecord 将数据加载到 Rails 中,我已经读到activerecord-import插件是完成这类工作的方法。

欢迎任何关于将大量数据加载到 Rails 中的最佳方法的反馈。

0 投票
2 回答
4191 浏览

ruby-on-rails - activerecord-import gem NoMethodError:未定义的方法“导入”

我正在尝试使用 activerecord-import gem,并且按照 wiki 上的说明进行操作,但我得到了NoMethodError: undefined method 'import' for #<Class:0x8b009b0>. 这是我的代码(与 wiki 中的示例基本相同)

我这样称呼该方法:

我在 windows、linux、sqlite 数据库、mysql 数据库上尝试过,但仍然没有运气。而且我确定我已经安装了 gem:

我什至尝试使用 require (在安装 gem 时这不应该是必需的。我还没有在其他任何地方看到过这种情况,所以我担心我必须错过一些非常明显的东西

0 投票
2 回答
469 浏览

ruby-on-rails - 从 activerecord-import gem 运行导入时 Postgres 抛出错误

我在开发中切换到 Postgres,现在以下错误打破了一个测试用例:

同样的错误发生在开发和生产环境中,但它不是一个显示停止器并且不影响导入。assets_content_nodes 是一个连接表,我宁愿不添加“id”列。任何想法为什么会发生这种情况?

0 投票
1 回答
111 浏览

ruby-on-rails - 识别导致大量导入错误的有问题的数据行

我正在使用 activerecord-import 将 .csv 文件中的一堆数据批量插入到我的 rails 应用程序中。不幸的是,当我在我的模型上调用 import 时出现错误。

我知道问题是我在导入的 1000 多行数据中有一个带有奇怪字符的字符串,但我不知道哪一行是问题所在。

activerecord-import 是否有任何内置的错误处理,我可以用来确定哪些行/行有问题(例如,在我的模型上调用导入函数时我可以设置的一些选项)?据我所知,答案是否定的。

或者,我是否可以编写一些代码来检查我传递给 activerecord-import 的数组,以确定哪些行的字符串在 UTF-8 中无效?

0 投票
2 回答
207 浏览

ruby - 如何提高将文件转换为哈希数组的过程性能?

我正在使用这种方法来处理一个大约有 220,000 行的文本文件。处理一个需要几分钟,但我有很多。有什么建议可以加快这个过程吗?


更新:

最初,我认为使用 Nex 和 thetinman 的方法可以节省大量时间,所以我继续测试它们,以保持解析方法的一致性。

使用我原来r[].strip的解析方法,但使用 Nex 的each_lineblock 方法和 thetinman 的foreach方法:

使用thetinman的unpack.map解析方法再次运行:

unpack.map(&:strip)vs r[].stripunpackwithmap似乎并没有提高速度,但是将来会使用它是一种有趣的方法。

我发现了一个不同的问题:由于节省了大量时间,我想,我继续使用 pry 手动运行 Nex 和 thetinman 的方法。这是我发现我的电脑挂起的地方,就像我的原始代码一样。所以我继续测试,但使用的是我的原始代码。

我的代码、Nex 和 thetinman 的方法似乎具有可比性,其中 Nex 是使用 Benchmark 最快的。然而,Benchmark 似乎并没有说明全部情况,因为使用 pry 手动测试代码会使所有方法花费的时间大大延长,以至于我在取回结果之前取消了。

我还有一些问题:

  1. 在 IRB/Pry 中运行这样的东西是否有特定的东西会产生这些奇怪的结果,使代码运行速度大大降低?
  2. 如果我运行original_method.countnex_method.countthetinmans_method.count,它们似乎都很快返回。
  3. 由于内存问题和可扩展性,thetinman 和 nex 建议不要使用原始方法。但是,将来有没有办法用基准测试之类的方法来测试内存使用情况?

NEX 更新,使用activerecord-import

@nex,这是你的意思吗?这对我来说似乎仍然很慢,但我不确定你说的是什么意思:

在该块内导入一组数据。

你建议如何修改它?

activerecord-import如您所见,该方法的结果要慢得多:

这种缓慢的导入过程是否正常?

它对我来说似乎超级慢。我试图弄清楚如何加快速度,但我没有想法。

0 投票
1 回答
4633 浏览

ruby-on-rails - 我需要做什么才能让 activerecord-import 工作?

我正在尝试使用 activerecord-import,但我似乎无法让我的应用程序识别它的存在。

我明白了

或者

不管我做什么。我已经在谷歌上搜索了好几天并尝试了我能想到的一切

当我们有 rails 2.3.5 和 ar-extensions 时它可以工作,但自从升级到 rails 3.2 后它就被破坏了。

每个人都说解决方案是使用 activerecord-import,但我似乎不知道该怎么做。我已经安装了 gem——我相信我的 ActiveRecord 版本的正确版本——并且我在我的代码中需要它,但我必须做一些其他的事情。

我的 Gemfile 中有这个:

这在我的代码中:

这是我的宝石清单:

0 投票
1 回答
597 浏览

ruby-on-rails-4 - 我可以在 Activerecord-import gem 中批量插入后使用记录数组吗?

所以在自述文件中,它做到了这一点

但是我们也可以使用books数组做一个循环来进一步修改数组中的每条记录还是不可能的?自述文件中没有说明这种情况

0 投票
1 回答
1389 浏览

ruby-on-rails - 如何使用回调在一个查询中保存多条记录

我有一组活动记录的新对象,我想将它们全部保存在一个查询中,并且我还想调用 before_create 回调。我使用了activerecored-import gem,还尝试了插入方法,这两种方法都跳过了回调什么是最好的方法?

0 投票
1 回答
540 浏览

ruby-on-rails - 是否可以在 Rails 中为无模型表使用“activerecord-import”gem。?

我想将记录批量插入到没有模型的表中。我确实按照链接如何在 Rails 3 中实现批量插入.. 一切都很好,除了“导入”命令。因为我没有模特。

我无法为该表创建一个空模型。好的,我告诉你,为什么我不能为此创建一个表。我正在使用 IOS apns 服务器进行推送通知功能。当我配置它时,它在我的数据库中创建了很多没有模型的表。在其中一个表中,我想在单个查询中批量插入记录。最初我是用循环来做的。它影响了性能。所以,我想进行优化。无论解决方案是什么,请给我任何建议。以下是我的方法。

对不起我的英语不好。提前致谢。

0 投票
0 回答
1413 浏览

ruby-on-rails - 如何将对象推入阵列导轨 4

我正在使用gem 'activerecord-import'Rails 应用程序中的批量导入。我有一些示例代码如下:

在代码中,我将在几秒钟内导入 10000 条新记录。但如果我正在为以下文章创建大量评论:

在运行上面的代码时,注释是在循环中创建的,而不是被推送到数组中。我如何在创建之前将所有评论推送到数组中。请帮帮我。