it-swarm.com.de

Löschen Sie einen Datensatz von der Konsole - Ruby on Rails

Ich möchte einen Datensatz von der Konsole löschen.

Ich habe mich über Skript/Konsole angemeldet und

User.find(1).delete
$<User id: 1, ..............>
User.find(1)
ActiveRecord::RecordNotFound: Couldn't find User with ID=1
........
........
........

Bis hierher sieht alles gut aus.

Aber wenn ich die Konsole verlasse und per Skript/Konsolenbefehl zur Konsole zurückkehre, kann ich den Datensatz mit id = 1 wieder sehen.

Die Datenbank ist nicht lokal und ich verbinde mich über database.yml mit einer IP.

wenn ich versuche, dasselbe in der lokalen Entwicklungsdatenbank zu tun, ist alles in Ordnung.

Kann jemand bitte erklären, was passiert und wo ich vermisse!

Vielen Dank

14
kill007

Versuchen

User.find(1).destroy

Dies sollte in der Konsole und ansonsten funktionieren.

34
vandrop

In ähnlicher Weise können Sie alle Tupel für ein bestimmtes Objekt wie folgt aus der Rails-Konsole entfernen:

@object = Object.all

@object.each do |o|
  o.delete
end
2
Adam Hammouda

Einfache Möglichkeit, Modelldaten von der Konsole zu entfernen

Rails console

Speichern Sie das Benutzermodell in einer Instanzvariablen

user = User.find(1)

löschen oder zerstören Sie die Beziehungen, indem Sie die folgenden Befehle ausführen

user.delete

oder

user.destroy
1
Dinesh Pallapa

Versuchen Sie es mit User.count oder y User.count

User.first wobei zuerst die Nummer steht, die Sie löschen möchten

User.first.destroy

0
LukeBickleTWA

Stellen Sie sicher, dass Sie die Konsole nicht im Sandbox-Modus aufrufen, da dies den Löschvorgang verhindert.

0
webaholik