Me encontré con este mismo problema y así es como lo resolví.
-
Configure la URL de la base de datos desde la que desea copiar como una variable de entorno en la aplicación base para la canalización. En mi caso, esto es
STAGING_DATABASE_URL. El formato de URL espostgresql://username:example@sqldat.com:port/db_name. -
En tu
app.jsonasegúrese de copiar esa variable. -
En tu
app.jsonaprovisione una nueva base de datos que establecerá elDATABASE_URLvariable de entorno. -
Utilice el siguiente script para copiar la base de datos
pg_dump $STAGING_DATABASE_URL | psql $DATABASE_URL
Aquí está mi app.json archivo de referencia:
{
"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"
}
]
}