Hanami, un framework de Ruby, estructura su capa de base de datos mediante tres componentes principales: relaciones, repositorios y structs. A diferencia de frameworks como Rails, Hanami no utiliza una capa de modelos tradicional, priorizando un diseño que separa la lógica de acceso a datos de la presentación. Las relaciones definen el esquema y las asociaciones entre objetos, mientras que los repositorios, aunque opcionales, permiten gestionar múltiples relaciones de forma coherente, evitando la complejidad de las consultas directas. Los structs, por su parte, representan objetos congelados que encapsulan la lógica de presentación.
El artículo detalla cómo estos componentes se integran mediante migraciones de esquema y ejemplos prácticos de creación y consulta de datos. Se destaca la ventaja del patrón de repositorios para mantener la lógica de negocio aislada de las consultas de base de datos, facilitando cambios en la lógica de negocio sin modificar el código de acceso a datos. Esta arquitectura reduce la dependencia de alcances (scopes) en el nivel de base de datos, centralizando la lógica de negocio en la capa de repositorios. El texto sirve como guía didáctica para desarrolladores que buscan entender la arquitectura interna de Hanami y sus ventajas frente a patrones tradicionales de acceso a datos.
