Próbuję usunąć wiele rekordów w mojej bazie danych z konsoli Rails. Wiem, że mogę zrobić User.find (1) .destroy. Co jeśli chcę usunąć wszystkich użytkowników z identyfikatorami od 100 do 200. Czy istnieje sposób, aby to zrobić w konsoli?Usuwanie wielu rekordów z konsoli Railsowej
16
A
Odpowiedz
35
Możesz zrobić coś takiego, jak User.delete_all("id > 100 AND id < 200")
.
0
Nowa składnia w Rails 5 jest składnia Mischa wspomina w swoim komentarzu: User.where("id > 100 AND id < 200").delete_all
warunki przejścia do delete_all
będą przestarzałe w szynach 5.1.
Lub: 'User.where (" id> 100 AND id <200 ") delete_all' – Mischa
To działało, dziękuję! – Sara
Należy pamiętać, że 'delete_all' i' delete' nie uruchamiają wywołań zwrotnych, podczas gdy 'destroy_all' i' destroy' będą je uruchamiać. W większości przypadków będziesz chciał użyć 'destroy_all', a nie pominąć callbacków. –