sql >> Base de Datos >  >> RDS >> PostgreSQL

Heroku Review Apps:copie la base de datos para revisar la aplicación

Me encontré con este mismo problema y así es como lo resolví.

  1. 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 es postgresql://username:[email protected]:port/db_name .

  2. En tu app.json asegúrese de copiar esa variable.

  3. En tu app.json aprovisione una nueva base de datos que establecerá el DATABASE_URL variable de entorno.

  4. 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"
    }
  ]
}