4 votes

Comment lancer rake db:migrate dans un déploiement automatisé avec heroku ou heroku-api gem ?

Je l'utilise dans une tâche de rake :

client = Heroku::Client.new('', 'heroku-api-key')
client.rake 'my-app-name', 'db:migrate'

et tout ce que j'obtiens, c'est

RestClient::UnprocessableEntity : 422 Unprocessable Entity.

D'autres commandes fonctionnent, telles que

client.ps('my-app-name')

Le fichier heroku client.rb utilise

rake(app_name, cmd)

Je ne sais donc pas ce qui ne va pas. Je ne vois aucun moyen de déboguer la réponse, même en utilisant RESTCLIENT_LOG=stdout.

0voto

Barry H Points 45

Si vous exportez votre clé API, vous pouvez exécuter la ligne de commande heroku sans avoir besoin de script l'API :

export HEROKU_API_KEY=<your key>
heroku run bundle exec rake db:migrate

0voto

nupac Points 1455

Il est un peu trop tard, mais essayez ceci si vous ne l'avez pas encore compris.

heroku run bash y luego

rake db:migrate comme vous le feriez sur votre machine locale

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X