-1

我正在尝试使用 activerecord-import 作为导入多条记录的一种方式。

我正在尝试运行

Field.import records, :on_duplicate_key_update => [:application_id,:key]

其中records是字段记录的数组。

我得到的错误是:

NoMethodError:来自/GEMS/gems/activerecord-import-1.0.4/lib/activerecord-import/import.rb:1003:in 'block in add_special_rails_stamps'的未定义方法'add_column_for_on_duplicate_key_update'

我也尝试过运行Field.import recordsField.import records, on_duplicate_key_update: [:application_id, :key]但它们都给出了相同的错误。

我进行了很好的搜索,但在其他任何地方都找不到任何有用的东西。

4

2 回答 2

1

如果您使用的是 Rails 6,那么您可以使用:

Field.insert_all records

如果没有,请尝试使用以下语法:

Field.import columns, [values]
于 2020-02-10T14:44:38.360 回答
0

重复密钥更新(on_duplicate_key_update)

MySQL、PostgreSQL(9.5+)和 SQLite(3.24.0+)对重复键更新(也称为“upsert”)的支持允许您指定在违反主键或唯一键约束时应更新其值的字段。

首先相应地检查您的版本,更多参考请阅读此https://github.com/zdennis/activerecord-import

于 2020-02-10T16:26:43.513 回答