Volver a la wiki

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

ColumnaTipoDescripción
mirrorsTEXT (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_atTEXT (ISO timestamp)Última vez que wiki_propagate_mirror_changes disparó verification_pending=1 en esta page.
mirror_sourceTEXT (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:

Véase también

Subir