Migration 0037 — sync_cascade_mirrors: columnas D1 para Sync Cascade
Migration 0037 — sync_cascade_mirrors
Migración D1 introducida en Sync Cascade s80 (22-05-2026). Añade las tres columnas necesarias para el sistema de propagación reactiva a la tabla bib_wiki_pages.
Archivo
migrations/0037_sync_cascade_mirrors.sql
DDL
ALTER TABLE bib_wiki_pages ADD COLUMN mirrors TEXT;
ALTER TABLE bib_wiki_pages ADD COLUMN mirror_changed_at TEXT;
ALTER TABLE bib_wiki_pages ADD COLUMN mirror_source TEXT;
CREATE INDEX IF NOT EXISTS idx_wiki_pages_has_mirrors
ON bib_wiki_pages(slug)
WHERE mirrors IS NOT NULL;
Columnas
| Columna | Tipo | Descripción |
|---|---|---|
mirrors | TEXT (JSON array) | Slugs de docs-espejo que se mantienen sincronizados con esta page. Si A.mirrors = ["B","C"], un cambio en A propaga a B y C. Direccional (no bidireccional). |
mirror_changed_at | TEXT (ISO timestamp) | Última vez que wiki_propagate_mirror_changes disparó verification_pending=1 en esta page. |
mirror_source | TEXT (slug) | Slug del doc-fuente que disparó la última cascada. Útil para el widget Pulse: “Pendiente verificar tras cambio en X”. |
Índice
idx_wiki_pages_has_mirrors — índice parcial sobre slug WHERE mirrors IS NOT NULL. El lookup más caliente de wiki_propagate_mirror_changes es “qué pages declaran mirrors apuntando a X”, pero se hace con full scan filtrado en JS (<500 rows), por lo que el índice real beneficia más el lookup de “pages que tienen algún mirror declarado”.
Estado de aplicación
⚠️ Pendiente aplicar a D1 remote tras merge: ejecutar con
wrangler d1 execute <DB_NAME> --file=migrations/0037_sync_cascade_mirrors.sql --remote.
Campos en content.config.ts y bib_ingest.py
Los campos mirrors y mirror_reason se integran en:
content.config.ts: definición de schema del contenido Astro.bib_ingest.py:RECONCILE_LIST_FIELDSincluyemirrors;RECONCILE_META_FIELDSincluyemirror_reason.
Véase también
- [[feature—supercontext—sync-cascade]]
- [[entity—biblioteca—handler—wiki-propagate-mirror-changes]]
- [[entity—biblioteca—handler—wiki-propose-mirror-update]]
- [[entity—biblioteca—endpoint—mirror-cascades]]