5 repositorios
Utilities for versioning and applying incremental schema changes to database structures.
Distinguishing note: Focuses on the lifecycle management of database schema versions rather than general software architecture.
Explore 5 awesome GitHub repositories matching software engineering & architecture · Database Migration Tools. Refine with filters or upvote what's useful.
TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented application code and relational database tables. It provides a comprehensive data persistence layer that allows developers to define database entities using class decorators or configuration objects, enabling seamless interaction with data through object-oriented patterns. The project distinguishes itself through a flexible architecture that supports both the data mapper and repository patterns, alongside a fluent query builder that translates high-level method calls into platform
TypeORM specifies a custom timestamp for a migration file name by passing a numeric value to the generation command.
Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using strongly-typed code. It serves as a comprehensive data access framework, providing a unified interface for mapping application objects to relational and non-relational database schemas while managing the lifecycle of data operations through a central context. The project distinguishes itself through a provider-based architecture that decouples core data access logic from specific database engines, allowing for consistent interaction across diverse storage systems. It features a
Tracks and applies incremental schema changes to ensure database compatibility with application code.
Bun es un mapeador objeto-relacional (ORM) con seguridad de tipos para Go que prioriza la construcción de consultas SQL primero y el mapeo de resultados. Funciona como un constructor de consultas SQL programable, un gestor de conexiones de base de datos y una herramienta para mapear tablas de bases de datos a structs de Go. El proyecto se distingue por un sistema de soporte SQL multi-dialecto, permitiendo que una única base de código interactúe con diferentes motores de base de datos a través de una interfaz consistente. Incluye una herramienta de observabilidad de base de datos incorporada para la interceptación de consultas, rastreo distribuido y registro, así como una herramienta de migración de esquemas para el versionado de cambios estructurales. La biblioteca cubre una amplia gama de operaciones de datos, incluyendo procesamiento por lotes, upserts, eliminaciones lógicas (soft deletes) y la gestión de datos relacionales como asociaciones polimórficas. Proporciona capacidades para análisis SQL avanzados utilizando expresiones de tabla comunes (CTE) y funciones de ventana, junto con la gestión de transacciones atómicas y agrupación de conexiones (connection pooling). La gestión de esquemas es compatible a través de una interfaz de línea de comandos para aplicar scripts de migración versionados.
Ships a tool for managing and applying versioned schema changes to SQL databases via scripts.
Phinx es una herramienta de migración y versionado de bases de datos PHP utilizada para rastrear y desplegar cambios estructurales en los esquemas de bases de datos en diferentes entornos. Funciona como un sistema de control de versiones para bases de datos, permitiendo que las modificaciones estructurales se definan y gestionen a través de código PHP. La herramienta proporciona mecanismos para el versionado y reversión (rollback) de esquemas de bases de datos, permitiendo a los usuarios deshacer migraciones aplicadas previamente y restaurar una base de datos a un estado anterior específico. Además, incluye un sembrador (seeder) de bases de datos para poblar tablas con registros base iniciales o datos de prueba. El sistema opera como una interfaz de línea de comandos independiente que gestiona la ejecución secuencial de migraciones y rastrea la versión actual del esquema mediante una tabla de metadatos dentro de la base de datos de destino.
Serves as a PHP-based utility for versioning and applying incremental schema changes.
Este proyecto proporciona un boilerplate estructurado para construir aplicaciones web en Go basadas en principios de arquitectura limpia. Sirve como una plantilla para organizar bases de código para asegurar que la lógica de negocio central permanezca aislada de frameworks externos, capas de base de datos y mecanismos de entrega. La implementación prioriza el diseño impulsado por el dominio centrando la aplicación en torno a entidades de negocio puras que no contienen referencias a preocupaciones de infraestructura. Utiliza inversión de dependencias en capas y adaptación de puertos basada en interfaces para desacoplar la lógica interna de las dependencias externas, permitiendo la evolución independiente de los componentes del sistema. El framework incluye soporte integrado para gestionar el comportamiento de la aplicación a través de la configuración de variables de entorno externas y maneja la evolución de la base de datos a través de scripts de migración de esquemas versionados. También incorpora un patrón de trabajador asíncrono para ejecutar tareas en segundo plano independientemente del ciclo de vida de la solicitud principal, asegurando que las operaciones de larga duración no bloqueen el tráfico de red entrante.
Provides utilities for versioning and applying incremental schema changes to database structures.