Avec le Heroku Release Phase est-il possible de lancer pg:backups:capture
? Ou y at-il une autre méthode à suivre pour créer une sauvegarde de base de données avant d'essayer d'exécuter des migrations?Phase de libération Heroku - Sauvegarde PG avant les migrations
Répondre
Techniquement, cela est possible, mais vous devez installer heroku cli sur votre dyno et vous devez l'authentifier d'une manière ou d'une autre. Donc, une solution consiste à trouver ou écrire buildpack qui va installer l'outil CLI et ajouter une variable de configuration avec les informations d'identification d'authentification.
Une autre approche consiste à utiliser une bibliothèque telle que https://github.com/kjohnston/pgbackups-archive
. Il y a cependant un problème, il utilise l'ancienne api heroku, qui sera désactivée en avril 2017. Je ne sais pas s'il existe une bibliothèque similaire qui utilise une nouvelle API. Si vous voulez juste sauvegarder vos données et ne pas nécessairement utiliser pg:backups:capture
, vous pouvez simplement utiliser un script simple d'écriture qui exécute pg_dump DATABASE_URL
avec des options supplémentaires et télécharge le fichier de vidage vers S3 ou tout autre emplacement. Je pense que c'est la solution la plus simple. Ensuite, ajoutez simplement ce script en tant que commande release
à Procfile.