1

我成功部署了我的第一个 Django/Heroku 应用程序,现在我只需要传输我的数据库。它以前在 Win7 PC 上的 MySql 数据库上。我四处寻找将 csv 导入 Heroku 数据库的方法,但没有找到任何东西。他们建议使用 ruby​​ gem 来执行此操作,或者使用tapsand this command: heroku db:push mysql://root:mypass@localhost/mydb。我的数据库很小,只有大约 1000 列和 2 个表,因此导入 CSV 文件非常简单,但我找不到如何去做。有谁知道?

4

3 回答 3

5

这里有一些想法可以让你快速上手:

首先,一种快速而肮脏的方法:

或者,一种稍微不那么快但仍然有点脏的方法:

  • 使用CSV readerPython 模块。
  • 在您的 Django 应用程序中创建一个加载 CSV 的任务,遍历每个 CSV 行,创建一个新的相应模型,如果模型有效,则将其保存在服务器的数据库中。
  • 通过 heroku CLI 运行任务。
  • 完成并验证服务器数据库后,您可以从存储库中删除任务和 CSV。

否则,taps也可能适合你!

于 2012-06-19T04:01:18.603 回答
2

根据在此处输入链接描述,您可以使用复制命令将 CSV 从本地文件系统加载到 postgres 中。您应该能够将其与您的 Heroku DB 一起使用,类似于:

PGPASSWORD=密码这里 psql -h 主机名 -U 用户名 dbname -c "\copy ..."

于 2012-06-19T04:39:03.437 回答
1

您可以通过以下命令将本地 csv 文件作为表导入 heroku postgres

PGPASSWORD=<your password> psql -h <your heroku host> -U <heroku user> <heroku postgres database name> -c "\copy bank (ifsc, bank_id, branch, address, city, district, state, bank_name) FROM '<local file path location>' CSV HEADER DELIMITER E'\t';"

请根据您的需要更改 DELIMITER 值。分隔符值前的'E'表示该命令包含转义字符,否则将;抛出异常

于 2019-08-13T07:12:33.553 回答