2013-04-01 16 views
16

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

Odpowiedz

35

Możesz zrobić coś takiego, jak User.delete_all("id > 100 AND id < 200").

+3

Lub: 'User.where (" id> 100 AND id <200 ") delete_all' – Mischa

+0

To działało, dziękuję! – Sara

+2

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

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.

Powiązane problemy