¿Cómo elimino todos los registros en una de las tablas de mi base de datos en una aplicación Ruby on Rails?
ruby-on-rails
ruby
database
ruby-on-rails-3
Justin Meltzer
fuente
fuente
ActiveRecord
modelos. La pregunta se refiere a eliminar el registro de una 'tabla' y solo estoy señalando o la suposición contenida en la respuesta.Para eliminar a través de SQL
Item.delete_all # accepts optional conditions
Para eliminar llamando al método de destrucción de cada modelo (costoso pero asegura que se llamen las devoluciones de llamada)
Item.destroy_all # accepts optional conditions
Todos aqui
fuente
si desea vaciar completamente la base de datos y no solo eliminar un modelo o modelos adjuntos, puede hacer lo siguiente:
también puedes hacerlo en la base de datos de prueba
fuente
Si te refieres a eliminar cada instancia de todos los modelos, usaría
fuente
select
siempre que necesites usar una expresión if dentro de un bloque, de esta manera evitas tener que encadenar el método compacto para eliminar elementos nulos.fuente
Si su modelo se llama BlogPost, sería:
fuente
MOPED: 127.0.0.1:27017 QUERY database=a_database collection=nothings selector={} flags=[:slave_ok] limit=0 skip=0 batch_size=nil fields=nil (0.3378ms)
Respuesta más reciente en el caso de que desee eliminar todas las entradas en cada tabla:
Más información sobre el
eager_load
aquí .Después de llamarlo, podemos acceder a todos los descendientes de
ActiveRecord::Base
y podemos aplicar adelete_all
en todos los modelos.Tenga en cuenta que nos aseguramos de no borrar la tabla SchemaMigration.
fuente