问题标签 [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.
ruby-on-rails - 通过 activerecord-import gem 导入后,所有 Rails 活动记录外键都为零
Ruby 2.3.0、Rails 4.2.4、PostgreSQL 9.5
更新:在下面添加了 activerecord-import 代码。
有谁知道如何使这些关联保持不变,以便可以在另一个视图中引用模型的表属性?类似于另一个问答(Rails has_many 通过使用 source 和 source_type 对多种类型进行别名),其中我有投资者、公司和交易。
我已经尝试过类似下面的关联 ( has_many ... through ...
),但我无法让 ActiveRecord 识别 3 个模型和表之间的连接。播种数据库:
数据进入这些表的方式是通过具有 3 列的 csv 文件。我使用 roo-xls 将每个提取到一个数组数组中。
我的基于activerecord-import gem的代码(每个 *_val 是一个由 1000 个数组组成的数组):
导入有效,但是当我检查transactions
表格时,执行 activerecord-import 后company_id 和investor_id.import
都为零。我当然希望它们包含用于company
和investor
模型记录的外键。
我的模型如下。
交易迁移(其他为简洁起见)
我的schema,我在其中添加了对belongs_to
( transactions
) 表的引用。
ruby-on-rails - NoMethodError:未定义的方法 `sql_for_on_duplicate_key_update' 用于#
我有一个 Rails 应用程序,最近我将数据库从 MySql 更改为 PostgreSql,从那时起 active-recordsimport
方法:on_duplicate_key_update
抛出错误。
显示的错误是,
我在跑:
ruby-on-rails - 如何使用 ruby 脚本编辑 sql 数据库中现有的 activerecord 对象?
如何使用脚本在外部编辑 activerecord 对象?我目前正在使用activerecord-import
gem 将对象插入数据库。是否可以使用此 gem 或使用其他工具或 gem 编辑现有记录?
ruby-on-rails - 具有非唯一列的 Activerecord-import upsert 到 postgres
我正在尝试使用 activerecord-import 导入数据,但遇到了问题。如果该行已经存在,则需要对其进行更新,否则需要创建该行。表中的唯一行由两列的组合定义,其中每个列的值在表中可能不是唯一的。由于列不是唯一列,我将如何使用 on_duplicate_key_update 的冲突目标。
现在了解详情。我有一个名为 Order 的模型,下面是 Order 模型中列的简化版本。
数据库中的唯一行由 order_number 和 sku_number 的组合标识。id 列是自动递增的。通常,如果我有一个唯一列作为标识符,我可以执行以下操作。因此,在下面的示例中,假设 id 列是唯一标识符,我将使用 id 列作为冲突目标。
这将更新数量,因为订单已经存在。
但我需要的是类似
order_number 和 sku_number 将唯一标识冲突行。
但这失败了,因为 Postgres 期望冲突目标的唯一列。
有没有办法使用非唯一列(即 order_number 和 sku_number)调用 on_duplicate_key_update?
任何帮助将不胜感激。
ruby-on-rails - 在 PostGres 中插入 NULL 值时,如何自动生成我的 ID?
我正在使用 PostGres 9.5。我在表中设置了以下内容,希望能够自动生成 ID……</p>
但是当我尝试运行批量插入语句时,其内容看起来像
我收到一个错误
SQL 是由 Rails 4.2.7 activerecord-import gem 自动生成的,我正在调用它
如果没有提供 ID,如何为我自动生成 ID?
ruby-on-rails - Rails 友好 ID:在 model.new 或 model.import 上未生成 slug
嗨,我正在使用friendly_id gem,
这里 Student.create 根据需要生成一个 slug 作为名称。
但就我而言,我正在使用“新”方法创建学生数组并使用活动记录导入保存到数据库
在“新”上,它不会创建 slug,也不会在导入时创建。
如何在导入时生成 slug?提前致谢
ruby-on-rails - CSV 解析占用太多内存
我正在尝试读取一个 5MM 行文件,现在它超出了我在 heroku 上的大量内存使用量。我的方法有点快~200 次插入/秒。我相信它在导入时崩溃了。所以我的计划是分批导入 1,000 或 10,000。我的问题是我怎么知道我在文件的末尾,ruby 有一个.eof
方法但它是一个File
方法,我不知道如何在我的循环中调用它
ruby-on-rails - 红宝石 CSV | 如何在阅读 CSV 时跳过几列?
我正在使用Active record Import gem将数据从 CSV 文件批量导入数据库。但我想在导入时跳过几个 CSV 列。
例如,我的 xaa.csv 具有名称、作者、作者 ID、评级等标题。导入时,我想跳过“author_id”列值并导入所有其他列。
ruby-on-rails - activerecord-import gem: has_many through issue
在activerecord-import gem的帮助下,我试图has_many through
在一个查询中保存带有孩子的记录列表。
我的模型:
我的保存代码:
但我得到一个错误NoMethodError: undefined method modification_id=' for #<Modification:0x00000006eb01d0>
ruby-on-rails - 我应该允许 activerecord-import 运行多长时间?
导轨版本: 4.2.7
红宝石版本: 2.3.3
我正在运行一个 rake 任务,将数百万个对象从 CSV 和 JSON 文件格式迁移到我的 postgres 数据库中。
我试图利用activerecord-import
它来加快将对象写入数据库的速度。
尽可能简化代码,前半部分处理对象类型一(来自一种数据类型),后半部分处理对象类型二。
第一个对象类型像这样迭代(为问题简化):
这在大约 250,000 个对象上运行,并且编写时没有任何问题,我在控制台中进行了检查,并且对象已成功写入。
然而,对象类型 2 有一些额外的对象,每个对象的大小和设计都与对象类型 1 大致相同。
其中大约有 4,040,000 个。
我应该等待多长时间ObjectTwo.import
才能运行?我们现在进入几个小时。
或者,从调试的角度来看(因为我真的不想重新运行这个 rake 任务,除非我绝对必须这样做),哪些脚本或策略对于查看当前是否ObjectTwo.import
真的在运行(即使它一直在运行)或者如果任务挂了?
ObjectTwo
我检查了 rails 控制台,我们在数据库中的 's数量似乎和以前一样。
我唯一的另一个想法是,由于我在运行之前没有打印到控制台#import
(即喜欢puts "Now starting import!"
),所以我没有 100% 的证据证明在数组中构建的对象已经完成。