CRUD empleado completo

  Domingo 8:00 AM a 6:00 PM


Esta entrada cubre el desarrollo del CRUD de empleado. Se ponen las operaciones (Create, Read, Update, Delete) juntas para este blog pues, en muchos casos, fueron similares los errores y procesos de desarrollo.

Creación de SPs: 

La mayoría de estos procedimientos tienen la estructura:

  • Declaración de parámetros y variables
  • Validaciones para la inserción/modificación de datos
  • Realizar los cambios en las tablas
  • Capturar errores.
Al utilizar esta estructura se facilita la depuración del código pues se sabe más fácilmente cómo y donde están los errores, siempre y cuando sean errores definidos por nosotros.

Sin embargo, sí hubieron muchos problemas en esta parte. Muchas veces no se lograba una conexión al SP, en algunos casos se debía a que se enviaban datos incorrectos desde el backend ó frontend, en otros casos el SP en sí era el que estaba mal, pues generaba errores de inserción o aspectos similares, los cuales fueron difíciles de encontrar.

Backend:

Para realizar el CRUD desde el backend, se crearon las funciones respectivas dentro de controllers.js, las cuales llamaban a sus SPs a través de dbService.js. Cada operación (crear, leer, actualizar, eliminar) tiene su propia función y ruta.

Se encontraron varios problemas comunes:

  • No coincidían los nombres de los parámetros entre el frontend, backend y SPs.

  • En algunos casos faltaba enviar algún campo obligatorio, lo cual causaba que el SP rechazara la operación.

  • El servidor de base de datos arrojaba errores genéricos difíciles de rastrear, por lo que se agregaron capturas de error más detalladas dentro de los SPs para identificar fallas más rápido.

Una vez corregidos estos errores, el CRUD básico de empleados quedó funcional.

Frontend:

También se trabajó en la creación de las pantallas básicas para cada operación:

  • Formulario de creación de empleado.

  • Tabla de visualización de empleados existentes.

  • Formulario de actualización con datos precargados.

  • Botón de eliminación para cada empleado.

Se realizaron pruebas de cada operación directamente desde la aplicación. Al detectar errores, se hizo un proceso de revisión cruzada entre el frontend, backend y base de datos para localizar el problema.

Errores actuales: no se manejan bien aún todos los errores hacia el frontend, sin embargo, sí actúan debidamente en la base de datos, a excepción de que no se logran insertar a la tabla DBErrores.

Github commit

Comentarios