Dieser Inhalt wurde automatisch aus dem Ukrainischen übersetzt.
Manchmal kann während der Entwicklung der Fehler PG::ObjectInUse: ERROR auftreten.
Zum Beispiel:
rake db:drop;
Zeigt uns den folgenden Fehler:
PG::ObjectInUse: ERROR: Datenbank "myproject_development" wird von anderen Benutzern verwendet DETAILS: Es gibt 1 andere Sitzung, die die Datenbank verwendet Datenbank 'myproject_development' konnte nicht gelöscht werden rake abgebrochen! ActiveRecord::StatementInvalid: PG::ObjectInUse: ERROR: Datenbank "myproject_development" wird von anderen Benutzern verwendet DETAILS: Es gibt 1 andere Sitzung, die die Datenbank verwendet. Ursache: PG::ObjectInUse: ERROR: Datenbank "myproject_development" wird von anderen Benutzern verwendet DETAILS: Es gibt 1 andere Sitzung, die die Datenbank verwendet. Aufgaben: TOP => db:drop:_unsafe (Siehe vollständige Rückverfolgung, indem Sie die Aufgabe mit --trace ausführen)
Hier ist alles ziemlich einfach. Die Nachricht ist sehr informativ und sagt buchstäblich - Datenbank "myproject_development" wird von anderen Benutzern verwendet. Das bedeutet, dass wir die Datenbank derzeit nicht löschen können, da eine aktive Verbindung besteht. Lokal ist das normalerweise entweder ein laufender rails server und/oder rails c (Konsole). Diese müssen geschlossen werden, damit der Prozess die Verbindung zur Datenbank trennt. Danach starten wir rake db:drop; neu und alles sollte funktionieren.
Manchmal kann es vorkommen, dass wir lokal scheinbar keine offenen Prozesse / Verbindungen im Terminal haben, aber wir immer noch den Fehler "Datenbank wird von anderen Benutzern verwendet" erhalten. Das bedeutet normalerweise, dass wir irgendwo einen Prozess haben, der weiterhin mit der Datenbank arbeitet. Manchmal kann es sich um einen Hintergrundprozess / Daemon handeln. Aber um diesen Prozess zu finden und zu beenden, braucht man mehr Kontext. Man kann die Ports und Prozesse scannen und die beenden, die die Datenbank verwenden. Aber darüber werde ich wahrscheinlich in einer anderen Notiz schreiben.
Dieser Beitrag hat noch keine Ergänzungen vom Autor.