我有 active_record
设置来使用 Postgresql 数据库。其中一列是 character varying[]
(基本上是一个 varchar 数组)。
无论如何,我的导入例程然后读取制表符分隔的文本文件并插入记录。一切都很好,直到我到达一个数组。应转换为数组的列以逗号分隔。但该行本身是制表符分隔的。
我正在导入的数据示例如下所示(制表符分隔):
Col1 Col2 Col3 Col4
----------------------------------------------
Apple Pear Sweet,Round,Green Fruit
Col3 的导入方式与 (ruby) 类似:col3.split(/,/)
为我提供了一个 Ruby 数组。但是 active_record 爆炸了:
PG::Error: ERROR: array value must start with "{" or dimension information (ActiveRecord::StatementInvalid)
如何正确插入该列?
此外,有时 col3 将为 NULL。
最佳答案
我能够使用以下 Ruby 代码插入:
alternatenames = '{' + s[3].split(/,/).map {|n| '"' + n + '"'}.join(",") + '}'
关于ruby - 如何使用 ActiveRecord 将数组插入到 Postgresql 表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9764427/