Cheat Sheet Heroku

CLI Heroku

heroku run rails console

Migration

heroku run rails db:migrate

Log

heroku logs --tail

Set env variable

heroku config:set ADMIN_PASSWORD='password'

Ajouter une remote heroku

heroku git:remote -a project-name

Avoir des infos sur sa base de données:

heroku pg:info
=== DATABASE_URL
Plan         Standard 0
Status       available
Data Size    82.8 GB
Tables       13
PG Version   12.5
Created      2012-02-15 09:58 PDT

Copier la base de donnée en locale, il faut tout d’abord récupére le nom d’utilisateur de sa BDD puis le nom de sa base de donnée.

whoami
# alexandrebouvier

Dans la console rails

irb(main):001:0> Rails.configuration.database_configuration["development"]["database"]
# => "airbnb_copycat_development"
heroku pg:backups:capture
heroku pg:backups:download
pg_restore --verbose --clean --no-acl --no-owner -h localhost -U alexandrebouvier -d airbnb_copycat_development latest.dump

Si le BDD est petite on peut utiliser le pg:pull mais ça risque de prendre plus de temps

rails db:drop
heroku pg:pull DATABASE_URL airbnb_copycat_development

Pour copier la base de donnée local sur une app Heroku

heroku pg:push airbnb_copycat_development DATABASE_URL

Pour copier la BDD d’une app Heroku à une autre. Ici on copie de example-app vers example-staging-app, pour plus d’information voir la documentation

heroku pg:copy example-app::HEROKU_POSTGRESQL_ORANGE_URL GREEN --app example-staging-app

Se connecter à la base de données

heroku pg:psql

Voir toutes les connexions sur la BDD (attention si c’est un serveur partagé ou pas il faut filtrer sur sa connexion)

heroku pg:psql -c 'select usename, application_name, backend_start, wait_event, backend_type from pg_stat_activity;' --remote staging