Heroku:如何将数据库从现有应用程序转移到新应用程序?

时间:2019-04-01 00:59:36

标签: ruby-on-rails ruby heroku

我想使用Heroku从现有的应用程序中创建新的应用程序。

我将旧应用程序克隆到了新应用程序,并在Heroku上将旧名称更改为新应用程序。

我已使用以下方法传输了环境变量:

$ heroku config -s -a existing-heroku-app > config.txt
$ cat config.txt | tr '\n' ' ' | xargs heroku config:set -a new-heroku-app

DATABASE_URL是为新应用程序创建的,它是在我克隆现有应用程序后自动创建的,无法使用Heroku上的编辑选项对其进行更改。

如何将数据库从旧应用程序转移到新应用程序?

已更新:

我尝试如下

$ heroku pg:copy old::postgres://cbnedduwickhsw:c30d4bf09f3f0e756e6360b9331e8b001c70b6dc5c2c4cee899e71ad972f3f23@ec2-55-165-254-49.compute-1.amazonaws.com:5432/d9egrorbiba5at postgres://gjducqczpmibkn:0c7e9eecead030222792675a076c8980e8bd6edf2f68ba38465fbe978097445a@ec2-184-76-153-63.compute-1.amazonaws.com:5432/dfa8rqk1n47ec0--app new-staging

但是有错误

-bash: postgres://gjducqczpmibkn:0c7e9eecead030222792675a076c8980e8bd6edf2f68ba38465fbe978097445a@ec2-184-76-153-63.compute-1.amazonaws.com:5432/dfa8rqk1n47ec0--app: No such file or directory

1 个答案:

答案 0 :(得分:1)

摘自Heroku文档

  

您还可以直接从另一个应用程序上的数据库进行传输:

     

$ heroku pg:copy sushi::ORANGE GREEN --app sushi-staging

     

这会将数据从ORANGE应用的sushi数据库复制到GREEN中的sushi-staging数据库。这可用于将生产数据复制到暂存应用中以进行测试。

通常每个Heroku应用程序只有一个数据库。

因此您可以将其运行为

$ heroku pg:copy old-app::DATABASE_URL DATABASE_URL --app new-app

仅用数据替换old-appnew-app