我需要将数据库从app_1传输到app_2
我在app_1上创建了备份
然后运行:
heroku pg:backups restore HEROKU_POSTGRESQL_COLOR --app app_2 heroku pgbackups:url --app app_1
URL = app_2的数据库HEROKU_POSTGRESQL_COLOR
然后我得到:
! `pg:backups` is not a heroku command.
! Perhaps you meant `pgbackups`.
! See `heroku help` for a list of available commands.
所以我跑了:
heroku pgbackups:restore HEROKU_POSTGRESQL_COLOR --app app_2 heroku pgbackups:url --app app_1
然后,我得到了以下内容:
! WARNING: Destructive Action
! This command will affect the app: app_2
! To proceed, type "app_2" or re-run this command with --confirm app_2
所以我确认了:
> app_2
! Please add the pgbackups addon first via:
! heroku addons:add pgbackups
然后我运行:heroku addons:add pgbackups --app app_2
Adding pgbackups on app_2... failed
! Add-on plan not found.
有没有办法绕过这个问题?任何帮助都将不胜感激!
*解决方案*
我最终给Heroku发了电子邮件,他们建议我需要heroku update; heroku plugins:update
,但heroku update
只对heroku工具带可用,而且我已经安装了gem。
解决方案:
安装Heroku工具带here
然后卸载gem:
gem uninstall heroku --all
运行以下命令以获取版本,它应该输出heroku-toolbelt
,而不是gem,更多信息here
$ heroku --version
heroku-toolbelt/2.39.0 (x86_64-darwin10.8.0) ruby/1.9.3
要复制数据库,请执行以下操作:
heroku pg:backups restore `heroku pgbackups:url --app app_1` HEROKU_POSTGRESQL_COLOR --app app_2
但更好的是-您可以直接从一个数据库复制到另一个数据库,而不需要备份:
假设app_2数据库url为:HEROKU_POSTGRESQL_GOLD
heroku pg:copy app_1::DATABASE_URL GOLD -a app_2
这会将主数据库从app_1复制到app_2上的GOLd数据库
发布于 2015-04-21 14:59:46
只有一条命令可以将数据库从一个应用复制到另一个应用,现在你不需要备份了:
heroku pg:copy app_name_to_copy_from::database_color_to_copy_from database_color_to_copy_to --app app_name_to_copy_to
check it here
发布于 2015-04-20 16:50:38
如果你看看heroku docs
,它会说
PG Backups as a add-on已弃用。这些命令作为Heroku Postgres命名空间的一部分存在于CLI中。新功能已上线并可供使用。
因此,您无需添加任何附加组件即可使用pgbackups functionality directly
要创建备份,可以运行以下命令
heroku pg:backups capture --app app_name
如果您有多个数据库,则可以像这样指定数据库url
heroku pg:backups capture HEROKU_POSTGRESQL_PINK
要使用restore from a backup on another app
,您可以运行
heroku pg:backups restore b001 DATABASE_URL --app app_name
您可以通过以下方式执行transfer database
heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_PINK_URL --app app_name
您也可以通过以下方式在另一个应用程序上使用upload your database to a public url and then use that url to import database
heroku pg:backups public-url b001 --app app_name
然后对它执行import
heroku pg:backups restore 'https://s3.amazonaws.com/me/items/3H0q/mydb.dump' DATABASE -a app_name
如果您正在从一个应用程序移动到另一个应用程序,并且希望在另一个应用程序中使用相同的数据库,则可以按照以下步骤操作:
<代码>F229
发布于 2018-05-23 16:18:17
heroku pg:copy app1_name::HEROKU_POSTGRESQL_ONYX_URL HEROKU_POSTGRESQL_AQUA_URL --app app2_name
第二个db url在app2_name上。
https://stackoverflow.com/questions/29753366
复制相似问题