Una capa de Swift con seguridad de tipos sobre SQLite3 que ofrece un generador de consultas y acceso tipado a datos para apps de Apple y Linux.
groue/GRDB.swift
Un toolkit de Swift para bases de datos SQLite que ofrece persistencia de registros, una interfaz de consultas, migraciones y observación de bases de datos para desarrollar apps.
- Estrellas
- 8,726
- Forks
- 1,106
- Issues abiertos
- 13
- Último commit
- anteayer
¿Qué es?
GRDB.swift es una biblioteca de Swift para guardar datos de aplicaciones en bases de datos SQLite. Permite asignar structs y clases de Swift a tablas con métodos de consulta y persistencia, para evitar escribir SQL y gestionar filas sin procesar en operaciones comunes, aunque también puedes escribir SQL directamente cuando lo necesites.
La biblioteca ofrece una interfaz de consultas de Swift para crear solicitudes, un sistema de migraciones para evolucionar el esquema entre versiones de la app y compatibilidad con la búsqueda de texto completo. La observación de bases de datos envía notificaciones cuando cambian los valores almacenados, con integración lista para usar con Swift concurrency, Combine y RxSwift. Las conexiones a la base de datos pueden ser de tipo DatabaseQueue o DatabasePool; este último usa el modo WAL para permitir lecturas y escrituras simultáneas.
GRDB es compatible con iOS, macOS, tvOS y watchOS, y se instala mediante Swift Package Manager, CocoaPods o de forma manual. Las bibliotecas complementarias ofrecen integración con SwiftUI y pruebas de instantáneas del contenido de la base de datos.
Funciones clave
- 01Asigna structs y clases de Swift a tablas con métodos integrados de consulta y persistencia.
- 02Interfaz de consultas de Swift para crear solicitudes SQL, además de SQL directo con vinculación segura de argumentos.
- 03Migraciones de esquema para evolucionar la base de datos entre versiones de la app.
- 04Observación de la base de datos que notifica los cambios, con compatibilidad con Combine, RxSwift y secuencias async.
- 05Tipos de conexión DatabaseQueue y DatabasePool, con modo WAL para lecturas y escrituras simultáneas.
- 06Búsqueda de texto completo y cifrado opcional con SQLCipher.
Casos de uso
- Persistir datos de usuario y modelos en una app para iOS o macOS.
- Observar los cambios en la base de datos para mantener actualizadas las vistas de SwiftUI o UIKit.
- Gestionar cambios en el esquema entre versiones sucesivas de la app mediante migraciones.
- Desarrollar apps offline-first que almacenen datos localmente en SQLite.
Inicio rápido
- 1
Añade GRDB a tu proyecto con Swift Package Manager usando la URL del repositorio
- 2
Importa GRDB y abre una conexión a la base de datos
Antes de usarlo
- Está dirigido a plataformas Apple (iOS, macOS, tvOS, watchOS) y requiere Swift 6.1 o posterior.
- Carthage no es compatible y no se pueden publicar nuevas versiones en CocoaPods, por lo que las versiones posteriores requieren una solución alternativa mediante una rama o etiqueta de git.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es GRDB.swift?
- Un toolkit de Swift para bases de datos SQLite que ofrece persistencia de registros, una interfaz de consultas, migraciones y observación de bases de datos para desarrollar apps. GRDB.swift es una biblioteca de Swift para guardar datos de aplicaciones en bases de datos SQLite. Permite asignar structs y clases de Swift a tablas con métodos de consulta y persistencia, para evitar escribir SQL y gestionar filas sin procesar en operaciones comunes, aunque también puedes escribir SQL directamente cuando lo necesites.
- ¿GRDB.swift es gratuito? ¿Qué licencia tiene?
- GRDB.swift es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿GRDB.swift sigue mantenido?
- Mantenimiento activo. El último commit de GRDB.swift fue el 5 nov 2026.
- ¿Para qué puedo usar GRDB.swift?
- Persistir datos de usuario y modelos en una app para iOS o macOS. Observar los cambios en la base de datos para mantener actualizadas las vistas de SwiftUI o UIKit. Gestionar cambios en el esquema entre versiones sucesivas de la app mediante migraciones. Desarrollar apps offline-first que almacenen datos localmente en SQLite.
- ¿Cómo se instala GRDB.swift?
- Añade GRDB a tu proyecto con Swift Package Manager usando la URL del repositorio Importa GRDB y abre una conexión a la base de datos
- ¿Dónde consigo GRDB.swift?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/groue/GRDB.swift
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
ORM para TypeScript y JavaScript en Node.js y otras plataformas JS, compatible con los patrones Active Record y Data Mapper y con numerosas bases de datos SQL y NoSQL.
Un ORM y generador de consultas seguro y extensible para Rust, que valida las consultas en tiempo de compilación con PostgreSQL, MySQL, SQLite y MariaDB.
Una biblioteca de Swift que envuelve Core Data de Apple con una API segura en cuanto a tipos y concurrencia para apps de iOS, macOS, watchOS y tvOS.
Paquete de Swift para llamar a la API pública de OpenAI en plataformas Apple y Linux, compatible con muchos proveedores compatibles con OpenAI.
Cliente nativo, gratuito y de código abierto para bases de datos en macOS e iOS, compatible con SQL y NoSQL, con chat de IA integrado y un servidor MCP.