Changer de plan de BDD sur Heroku

Plus votre traffic s’accroit, plus votre base de données grossit et Heroku va rapidement vous imposer d’en changer la taille (à partir de 10 000 lignes). Malheuresement ce n’est pas si simple. Je vais vous aider à résumer ce que nous dit la documentation.

S’assurer d’avoir les droits

Tout d’abord, il faut s’assurer d’être le owner de l’application.

ownership

Créer la nouvelle base de données

Ensuite on va créer une nouvelle base de données sur Heroku. Ici, je vais choisir le plan hobby-basic. C’est un plan à 9$/mois. Pour connaître les autres plans, il suffit de se référer à la liste ici

$ heroku addons:create heroku-postgresql:hobby-basic

Vérifions maintenant que la base de données a bien été créé.

$ heroku pg:info

pg info

Il faut récupérer le nom de la base de données nouvellement créé. Dans notre cas c’est HEROKU_POSTGRESQL_WHITE_URL.

Copie de la base de données

Nous allons maintenant copier le contenu de l’ancienne base de données sur la nouvelle. Afin d’éviter toute écriture pendant la copie, nous allons mettre l’application en maintenance.

$ heroku maintenance:on

Puis on lance la copie de la base de données.

$ heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_WHITE_URL

pg copy

Ensuite vous pouvez vérifier que les 2 bases de données ont bien le même nombre de lignes avec heroku pg:info puis dans Rows.

On voit que désormais, j’ai le droit à 10 000 000 de lignes sur la base de données HEROKU_POSTGRESQL_WHITE_URL.

pg copy

Activer la nouvelle base de données

Activons la nouvelle base de données sur la production.

$ heroku pg:promote HEROKU_POSTGRESQL_WHITE_URL

pg promote

Enfin on peut réactiver l’application

$ heroku maintenance:off