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.
Tout d’abord, il faut s’assurer d’être le owner de l’application.
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
Il faut récupérer le nom de la base de données nouvellement créé. Dans notre cas c’est HEROKU_POSTGRESQL_WHITE_URL.
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
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.
Activons la nouvelle base de données sur la production.
$ heroku pg:promote HEROKU_POSTGRESQL_WHITE_URL
Enfin on peut réactiver l’application
$ heroku maintenance:off
Publié le 06/05/2021