如何从pailss应用程序将pqsl中的字符串数组导出为CSV?

时间:2017-04-15 16:19:04

标签: ruby-on-rails postgresql csv

我需要将string array的一些记录从postgres 9.3导出到CSV,然后在Rails 4.2应用中再次将CSV导回postgres表。当我将CSV文件导回psql表时,会抛出有关string array个字段的错误。显然string array无法识别CSV导出的postgresenter image description here enter image description here

measure_choices的字段string array在Rails迁移文件中定义为:

t.string    :measure_choices, array: true, default: []

使用标准CSV库导出Ruby CSV

CSV.generate do |csv|
  row = Array.new
  #making row.
  row << rails_obj.measure_choices
  ....
  csv << row
end

我注意到postgresRails之间关于代表string array的一些差异。空数组在psql中为{},在rails中为[]。 psql string array中的字符串没有双引号,Rails似乎有双引号。

将psql导出为CSV格式正确的psql导入方法是什么?

更新: 以下是分别从psql命令行和Rails导出的2个CSV文件。

PSQL Way

enter image description here

RAILS Way

enter image description here

导出回psql表时,Rails导出的CSV中的双引号和[]会导致问题。

0 个答案:

没有答案