Base de Datos
RaiSE almacena todo el estado personal en una única base de datos SQLite en ~/.rai/raise.db. Esta es la base de datos consolidada — un solo archivo que contiene sesiones, patrones, misiones, worktrees, signals y registros de aprendizaje de todos tus proyectos.
Qué Almacena¶
| Tabla | Contenido |
|---|---|
sessions |
Registros de sesiones — hora de inicio, hora de fin, proyecto, resumen, tipo |
patterns |
Aprendizajes extraídos — contenido, keywords de contexto, scope, story de origen |
missions |
Definiciones de misiones — nombre, objetivos, estado, timestamps de ciclo de vida |
worktrees |
Worktrees registrados — ruta, rama, vinculación de misión, estado de archivos de entorno |
signals |
Eventos de trabajo — inicio, completado y bloqueo de epics/stories, con timestamps |
learning_records |
Datos de calibración — duraciones estimadas vs. reales por story |
La base de datos es personal — no se commitea a git. Vive en tu directorio home y persiste entre proyectos, worktrees y sesiones.
Migración desde DBs por Proyecto¶
Antes de v3.1.0 (Epic E8204), RaiSE mantenía un .raise/raise.db separado en cada directorio de proyecto. Esto causaba fragmentación de estado: los patrones capturados en un worktree eran invisibles en otro, y el estado de las misiones podía divergir entre checkouts.
E8204 consolidó todo el estado personal en ~/.rai/raise.db. Ya no se crean bases de datos por proyecto. El comando rai db consolidate migra los datos por proyecto existentes al almacén global.
Si tienes bases de datos por proyecto antiguas, ejecuta:
Comandos Clave¶
| Comando | Qué hace |
|---|---|
rai db status |
Mostrar ubicación de la base de datos, tamaño y conteo de filas por tabla |
rai db check |
Validar la integridad del esquema y detectar corrupción |
rai db consolidate |
Migrar una DB por proyecto al almacén global |
rai db export |
Exportar la base de datos completa a un backup JSONL portable |
La Regla de Oro: Nunca Toques los Archivos .db Directamente¶
No abras, edites, copies ni muevas .raise/*.db o ~/.rai/raise.db con nada que no sea el CLI rai.
Los archivos SQLite pueden corromperse silenciosamente por escritores concurrentes. Copiar una base de datos en vivo puede producir una instantánea inconsistente. Editar registros directamente evita la validación y puede dejar claves foráneas rotas.
El CLI es la única interfaz segura. Si necesitas inspeccionar datos para depurar, usa rai db export para obtener una instantánea JSONL, o rai db status para conteos.
Backup y Recuperación¶
La base de datos no está bajo control de versiones. Respáldala como parte de la estrategia de backup de tu máquina. Para recuperación a un punto en el tiempo:
Si la base de datos se corrompe:
rai db check # diagnosticar
rai db rebuild # reconstruir desde los archivos JSONL de signals/sesiones
El comando rebuild usa los logs de eventos JSONL archivados (almacenados en .raise/sync/) para reconstruir el estado de la base de datos. Algunos datos de aprendizaje pueden perderse si los archivos están incompletos.
Próximos Pasos¶
- Referencia CLI: db — todos los flags y opciones
- Memoria — cómo los patrones y las sesiones se relacionan con los registros de la base de datos
- Worktrees — registros de worktrees almacenados en la DB