Eliminación de Registros en Bases de Datos con Diesel
Clase 9 de 21 • Curso de Backend con Rust: Bases de Datos, Controladores y Templates
Resumen
Crear datos, actualizarlos y obtenerlos son las operaciones básicas de cualquier base de datos. La cuarta y última operación es la eliminación de datos de nuestra base.
Eliminar registro con Diesel
Por lo general, los registros se borran utilizando si ID o con algún que sabemos que es único en la base de datos para ese registro.
// Eliminar registro por ID
diesel::delete(posts.filter(id.eq(1)))
.execute(&conn)
.expect("Error en el delete.");
Las operaciones del tipo DELETE devuelven un número entero que puedes almacenar en una variable que corresponde a la cantidad de registros que fueron afectados (eliminados) de tu base de datos. Puedes usar este número entero para continuar con la lógica de tu aplicación.
Eliminar muchos registros a la vez
Una forma de eliminar varios registros a la vez, es utilizando el operador de SQL llamado LIKE y un patrón, similar a una expresión regular, para eliminar los registros que coincidan con la búsqueda.
// Eliminar registros con REGEX
diesel::delete(posts.filter(slug.like("%-post%")))
.execute(&conn)
.expect("Error en el delete.");
También puedes utilizar LIKE para obtener datos y actualizar. Es un operador realmente muy utilizado en SQL.
Ya tienes los conocimientos básicos para desarrollar todo un CRUD (Create, Read, Update, Delete) entre Rust, Diesel y SQL. ¡Felicidades!
Contribución creada por: Kevin Fiorentino.