← StartseiteProgrammierung (Програмування)

Wir analysieren den Fehler PG::ObjectInUse (Ruby on Rails)

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 ...

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.

🔥 Weitere Beiträge

Alle Beiträge
Programmierung (Програмування)12. Apr '24, 10:07 Uhr

Was ist Routing?

Routing (Routing oder Routen), - ist ein entscheidender Schritt im Prozess der Weiterleitung von ...

Programmierung (Програмування)15. Apr '24, 17:50 Uhr

Was ist Entropie?

Entropie - ist ein Begriff aus der Informationstheorie und Statistik, der verwendet wird, um das ...

Programmierung (Програмування)15. Apr '24, 18:11 Uhr

Was sind HTTP Client Hints?

HTTP Client Hints (Client-Hinweise) sind ein Mechanismus des Webbrowsers, der dem Server Informat...

ZOMBIE in Ruby. Was ist das?
Programmierung (Програмування)3. Mai '24, 12:41 Uhr

ZOMBIE in Ruby. Was ist das?

Ruby - ist eine Programmiersprache. Hier ist alles klar. Im Code dieser Sprache kann man den Begr...

Programmierung (Програмування)7. Mai '24, 07:24 Uhr

Was ist nativer Maschinencode?

Native Maschinencode - ist eine Art von Programmcode, der direkt vom Prozessor des Computers ausg...