2016-03-15 42 views
0

我试图将数据导入到heroku中的postgres数据库。我能够正确的模式上传到Heroku的使用命令:Ruby on rails将本地csv数据加载到heroku

heroku pg:psql -a [app name] < db/structure.sql 

所以现在当我运行的Heroku PG:PSQL并连接到我的数据库,我可以运行:

\dt 

并列出所有我想要的表格。但是,仅上载模式,而不是实际数据。我已经看了很多不同的方式将数据库上传到heroku,但一直无法工作。我想知道是否有一种简单的方法将本地csv数据导入到heroku中。在当地,我可以运行:

sqlite3 development.sqlite3 
.mode csv 
.import [table name] [filename] 

而且它导入我想要的数据。有没有类似的方式来做到这一点heroku数据库?我知道heroku使用postgres而不是sqlite3,但由于我能够轻松加载模式,我认为可能有一种简单的方式来上传数据。这是我第一次尝试发布的rails项目,所以任何指导将不胜感激! 谢谢!

回答

0

上传CSV到的Heroku和运行

COPY zip_codes FROM '/path/to/your_file.csv' DELIMITER ',' CSV; 

在PG壳

https://gist.github.com/jboesch/5605747Importing csv to heroku postgres你如何能做到这

+0

感谢您的反馈!但是,当我运行此代码时,我收到错误:错误:必须是超级用户才能复制到文件或从文件复制。我不确定为什么我不会成为超级用户,因为我只是从我的电脑本地工作。有任何想法吗?我试过“alter user superuser”,但它给了我一个错误,说“必须是超级用户才能改变超级用户” – adub

+0

如果你不能将你的用户设置为超级用户,请尝试[this gem](https:// github的.com/diogob/postgres的拷贝) –