Eliminación de Registros en Bases de Datos con Diesel

Clase 9 de 21Curso 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.