Ich habe versucht zu rennen
heroku run rake db:migrate
Und bekam den Fehler
Es können nicht mehr als 1 Free Size-Dynos ausgeführt werden . Siehe unten, wie Sie das Problem beheben können ...
Die Antwort ist, nach offenen Heroku-Sitzungen zu suchen (Sie können 'heroku ps' verwenden, wie john unten erläutert), in meinem Fall hatte ich bereits eine 30-minütige Heroku-Konsolensitzung und habe sie einfach vergessen. Wenn Sie also den Fehler "Kann nicht mehr als 1 freie Größe ausführen" sehen, schließen Sie einfach alle vorhandenen Konsolen- oder anderen geöffneten Herokusitzungen.
Hoffentlich erspart dies jemand die zehn Minuten, die ich brauchte, um meine Sinne zu erreichen.
am effektivsten
in der Konsole ausführen:
heroku ps
das Ergebnis sieht so aus:
run.4859 (Free): up 2016/01/12 21:28:41 (~ 7m ago): Rails c
Die Zahlen 4859 stellen also die Sitzung dar, die offen ist und geschlossen werden muss. Um den Fehler zu beheben, müssen Sie Folgendes ausführen (Ersetzen Sie die Nummer 4859 durch die erhaltene Nummer):
heroku ps:stop run.4859
Es ist eine sehr einfache Lösung.
Hatte genau das gleiche Problem und kam auf diese Seite. Nach dem Lesen wurde klar, was los war, aber folgendes hinzufügen möchte.
renn einfach
heroku kill DYNO --app your_app_name
Schließen Sie danach alle offenen Konsolen.
Führen Sie dann den Befehl db migrate aus.
In meinem Fall habe ich heroku ps:restart
ausgeführt, um all dynos neu zu starten, und der heroku run *
-Befehl funktionierte erneut.
Beispiele
Wenn Sie nur eine Git-Fernbedienung für Heroku haben, verwenden Sie diese:
heroku ps:restart && heroku run *
Wenn Sie mehrere Git-Fernbedienungen für Heroku haben, verwenden Sie diese:
heroku ps:restart --remote your-remote-name && heroku run * --remote your-remote-name
OR
heroku ps:restart --app your-heroku-app-name && heroku run * --app your-heroku-app-name
Ersetzen Sie *
durch Ihren Befehl, z. console
für die Rails-Konsole.
Was ich mit your-heroku-app-name
meinte, ist hier die Sub-Domain für Ihre Heroku-App. Wenn Ihre App-URL beispielsweise https://cute-cat.herokuapp.com
lautet, bedeutet dies, your-heroku-app-name
ist cute-cat
.
Wenn Sie nicht sicher sind, wie Ihr Git-Remote-Name für Heroku ist, kann git remote -v
Ihnen dabei helfen.
Beispiel:
$ git remote -v
this-is-the-remote-name https://git.heroku.com/xxx.git (fetch)
this-is-the-remote-name https://git.heroku.com/xxx.git (Push)
this-is-another-remote-name https://git.heroku.com/yyy.git (fetch)
this-is-another-remote-name https://git.heroku.com/yyy.git (Push)