Ada*_*m D 7 ruby postgresql activerecord ruby-on-rails upsert
我有一个Rails 3应用程序,我需要将外部系统提供的XML文件摄取到Postgres数据库中.我想使用类似ActiveRecord-Import的东西,但这似乎不能处理Postgres的upsert功能,我将要摄取的一些记录已经存在,但需要更新.
我正在阅读的大部分内容都建议动态编写SQL,但这似乎是一个可能已经解决的问题.我找不到它.
谢谢.
你可以用upsert在MySQL和PostgreSQL上进行upserting .
如果你正在寻找原始速度,你可以使用nokogiri和upsert.
使用data_miner导入数据可能更容易,data_miner在内部使用nokogiri和upsert.
小智 -1
这是一个两步的事情。首先您需要获取 XML 文件。如果它是由用户通过表单提供的,那么你很幸运,否则你需要使用 ruby 的标准 HTTP 库或其他像 mechanize 这样的 gem(实际上非常棒)来获取它
第二件事真的很容易。您将所有 XML 读取到一个字符串中,然后可以使用以下代码将其转换为哈希值:
Hash.from_xml(xml_string)
Run Code Online (Sandbox Code Playgroud)
然后您可以解析并处理数据......
| 归档时间: |
|
| 查看次数: |
3295 次 |
| 最近记录: |