我需要为PostgreSQL
中的ruby
构建一些批量插入。我可以构建ruby
array
,但不确定如何进行sql syntax
。我可以从语法上构建它,但是我必须转义一些引起我的引用混乱的插入内容,尤其是当在string interpolation
的双引号系统内使用单引号进行限制时。
我绊倒了PG
gem
,因为我想我曾经以某种方式使用过它,但不记得了。我可以将ruby
array
传递给PG::TextEncoder::Array
并使用它吗?我担心这些字段的值不能正确地转义。
已编辑:找到了半解决方案
enco = PG::TextEncoder::CopyRow.new
conn.copy_data "COPY my_table FROM STDIN", enco do
conn.put_copy_data ['some', 'data', 'to', 'copy']
conn.put_copy_data ['more', 'data', 'to', 'copy']
end
我必须遍历我的array
项,并通过上述结构传递每个内部项array
。这不是解决方案的全部内容,但可以解决我的问题。