我在RubyMine终端上试过这个:
heroku pg:push ror_development postgres://budobqbtsbzmlx:hUNYKkaMap-cExovtPJat4ajPm@ec2-54-217-208-1 58.eu-west-1.compute.amazonaws.com:5432/dbhsnsvf36h8tu
但是它回复了我的错误:
未知数据库:postgres:// budobqbtsbzmlx:hUNYKkaMap-cExovtPJat4ajPm@ec2-54-217-208-158.eu-west-1.compute.amazonaws。 COM:5432 / dbhsnsvf36h8tu。有效选项包括:DATABASE_URL,HEROKU_POSTGRESQL_ONYX_URL
还有这个错误:
连接HEROKU_POSTGRESQL_ONYX_URL(DATABASE_URL) “psql”未被识别为内部或外部命令, 可操作程序或批处理文件。
有人可以在Windows上显示执行此操作的详细示例吗?
答案 0 :(得分:2)
错误消息指出您应该使用环境变量而不是显式名称。 The documentation声明你应该做的事情如下:
heroku pg:push mylocaldb HEROKU_POSTGRESQL_ONYX
那就是说,我从来没有使用过这种技术,但确实成功地使用this procedure将我的本地数据库推送到heroku postgresql。
以下是简短版本:
安装pgbackups:
heroku addons:add pgbackups
备份本地数据库:
pg_dump -Fc --no-acl --no-owner -h localhost -U <user> <dbname> > local_pg.dump
将此文件上传到Web服务器(我使用S3或dropbox)。我们假设http://www.dropbox.com/me/local_pg.dump
现在恢复到你的神奇数据库:
heroku pgbackups:restore DATABASE 'http://www.dropbox.com/me/local_pg.dump'