我遇到了同样的问题,下面是我如何解决它的.
在管道的基础应用程序上,将要从中复制的数据库url设置为环境变量.就我而言,这是STAGING_DATABASE_URL
.url格式为postgresql://username:password@host:port/db_name
.
在你的app.json
文件中,一定要把这个变量复制过来.
在您的app.json
配置中,一个新的数据库将设置DATABASE_URL
环境变量.
使用以下脚本在数据库pg_dump $STAGING_DATABASE_URL | psql $DATABASE_URL
上复制
以下是我的app.json
份文件供参考:
{
"name": "app-name",
"scripts": {
"postdeploy": "pg_dump $STAGING_DATABASE_URL | psql $DATABASE_URL && bundle exec rake db:migrate"
},
"env": {
"STAGING_DATABASE_URL": {
"required": true
},
"HEROKU_APP_NAME": {
"required": true
}
},
"formation": {
"web": {
"quantity": 1,
"size": "hobby"
},
"resque": {
"quantity": 1,
"size": "hobby"
},
"scheduler": {
"quantity": 1,
"size": "hobby"
}
},
"addons": [
"heroku-postgresql:hobby-basic",
"papertrail",
"rediscloud"
],
"buildpacks": [
{
"url": "heroku/ruby"
}
]
}