我在 Heroku 上托管了 Rails 3.2 应用程序。我的应用程序包含两个数据库(一个用于我的模型,第二个是一种带有静态数据的字典)。
我需要将第二个数据库(字典)推送到 Heroku,但是当我尝试 db:push Heroku 时认为我要推送第一个数据库(使用 Rails 模型)。
问题是 - 我如何指定我想将我的本地数据库 dictionary.sqlite 推送到 heroku dictionary.pg?
我在 Heroku 上托管了 Rails 3.2 应用程序。我的应用程序包含两个数据库(一个用于我的模型,第二个是一种带有静态数据的字典)。
我需要将第二个数据库(字典)推送到 Heroku,但是当我尝试 db:push Heroku 时认为我要推送第一个数据库(使用 Rails 模型)。
问题是 - 我如何指定我想将我的本地数据库 dictionary.sqlite 推送到 heroku dictionary.pg?
您可以使用 Heroku pg:transfer 插件,它可以让您通过其 URL 设置目标目的地。
https://github.com/ddollar/heroku-pg-transfer
或者,在本地使用 psql 客户端,但恢复到 heroku pg 实例。
不要使用db:push/pull
; 这些方法已被弃用。用于pgbackups:capture/restore
这样的事情。它接受HEROKU_POSTGRESQL_COLOR
作为命令的一部分:
$ heroku pgbackups:restore HEROKU_POSTGRESQL_COLOR 'https://example.com/data.dump' --app app-name
有关更详细的说明,请参阅使用 PG 备份导入和导出 Heroku Postgres 数据库。
此外,heroku-pg-transfer
已集成到pg-extras
,请在此处查看:https ://github.com/heroku/heroku-pg-extras