Ich werde die Lösung erklären, wenn die Verarbeitung mit der folgenden Konsolenausgabe verstopft ist, wenn "flask db upgrade" mit Flask-Migrate ausgeführt wird. In dieser Situation können Sie den Prozess nicht mit Strg + C beenden. Selbst wenn Sie das Terminal schließen, werden die Änderungen im DB-Schema nicht berücksichtigt.
$ flask db upgrade
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
INFO [alembic.runtime.migration] Running upgrade 576e5f4a0fe7 -> 2b28fe44cc94, empty message
Die Ursache ist wahrscheinlich ein verstopfter Prozess, der den störenden Prozess beendet. Es ist fast das gleiche, aber ich zeige Ihnen, wie Sie 4 Muster lösen. Da 2 bis 4 nicht verifiziert wurden, kann es möglicherweise nicht gelöst werden.
Beenden Sie den Vorgang auf dem Terminal.
Wenn Sie den Befehl ps
ausführen, wird eine Liste der ausgeführten Prozesse angezeigt, sodass Sie den entsprechenden Prozess darin finden und ihn mit dem Befehl kill
zwangsweise beenden können.
##Untersuchen Sie den Prozess, den postgres ausführt
ps aux | grep postgres
##Beenden Sie den entsprechenden Prozess
kill <<Prozess ID>> # ex) kill 12345
Mach es auf Postgres. Möglicherweise können Sie den Vorgang nicht auf diese Weise beenden.
##Untersuchen Sie den gesperrten Prozess
SELECT * FROM pg_locks; #Die Nummer in der PID-Spalte ist die Prozess-ID
##Beenden Sie den Vorgang
SELECT pg_cancel_backend(Prozess ID);