feat(0035a): tipo Group + columna group_id en entities
Plumbing para issue 0035 — agrupacion de resultados de enrichers cuando exceden umbral. Sin cambios visibles para el usuario todavia. - Migracion idempotente: ALTER TABLE entities ADD COLUMN group_id si no existe (detectado via PRAGMA table_info). Se ejecuta al abrir el proyecto en switch_to_project y en el bootstrap inicial. - Tipo Group en examples/types.yaml (template) y en el types.yaml del proyecto default activo en Windows. - shape=square (regla en types_registry.cpp extendida a Group), color=#94A3B8, icon=ti-stack-2. - Fields: name (req), count (int), enricher (string), batch_id (string). Refs: issues/0035a-group-type-and-schema.md
This commit is contained in:
@@ -72,6 +72,17 @@ bool project_create(const char* slug, std::string* error_msg);
|
||||
// Idempotente: no-op si projects/ ya existe.
|
||||
bool projects_migrate_legacy_layout();
|
||||
|
||||
// Migracion idempotente del schema de una operations.db existente.
|
||||
// Detecta columnas/tablas ausentes via PRAGMA y aplica los ALTER TABLE
|
||||
// minimos. Llamar al abrir un proyecto antes de cargar el grafo.
|
||||
//
|
||||
// Migraciones aplicadas:
|
||||
// - 0035a: ALTER TABLE entities ADD COLUMN group_id TEXT (si falta)
|
||||
//
|
||||
// Devuelve true si la BD esta al dia (o ya lo estaba). Si falla, rellena
|
||||
// `error_msg` y devuelve false.
|
||||
bool project_migrate_schema(const std::string& path, std::string* error_msg);
|
||||
|
||||
// Lee/escribe `graph_explorer.ini` (junto al exe). Formato:
|
||||
// last_active = <slug>
|
||||
// recent = slug1,slug2,slug3
|
||||
|
||||
Reference in New Issue
Block a user