0

我正在将 MySQL 数据库移植到 Heroku 托管的专用 PostgreSQL 实例。我了解如何将初始数据传递给 Heroku。但是,每天都有来自外部公司的数据“馈送”,需要每天导入。它被推送到 FTP 服务器,它是一个包含多个不同 CSV 文件的 zip 文件。通常,我可以/只会将其 scp 到 Postgres 框,然后有一个 cron 作业执行“从路径/到/file.csv 复制表名”来导入数据。然而,使用 Heroku 让我对最好的方法感到困惑。注意:我已经查看并查看了有关导入数据的 heroku 开发文章。但是,这更像是一个转储文件。我只是在处理每天从 CSV 文件导入。

有人在 Heroku 上做类似的事情吗?如果是这样,您能否就最佳方法提供任何建议。

更多信息:我的应用程序是 Cedar 堆栈上的 Python/Django 1.3.3。而且我的文件可能有点大。其中一些可以超过 50K 记录。因此,遍历它们并使用 Django ORM 可能会有点慢(但是,仍然可能是最好/唯一的解决方案)。

4

1 回答 1

1

两种选择:

  1. 启动一个非 Heroku EC2 实例,从 FTP 获取,解压缩并从那里启动副本。通过使用COPY STDIN选项(http://www.postgresql.org/docs/9.1/static/sql-copy.html),您可以指示数据来自客户端连接,而不是来自您无权访问的服务器文件系统。

  2. 文件有多大?它可能适合 dyno 的临时文件系统,因此一个进程或一项临时工作可以从 FTP 服务器下载文件并在 dyno 内完成整个过程。一旦进程退出,文件系统数据就会消失。

于 2012-08-29T15:44:07.133 回答