diff --git a/docs/modelo-de-datos.md b/docs/modelo-de-datos.md index 1b2f12c..354902f 100644 --- a/docs/modelo-de-datos.md +++ b/docs/modelo-de-datos.md @@ -1,7 +1,7 @@ # Modelo de datos -Diseño de la migración del contenido a PostgreSQL. **Fase 1 —este documento— -está entregada y pendiente de verificación**; no hay código escrito todavía. +Diseño de la migración del contenido a PostgreSQL. **Fase 1 cerrada**: el +modelo está completo y las decisiones tomadas. No hay código escrito todavía. Versión presentable, con diagramas entidad-relación: @@ -440,30 +440,42 @@ ya cargado. taller. 6. **La administración.** -## Pendiente de respuesta +## Decisiones tomadas por defecto -Casi todo está decidido. Quedan dos, y las dos son de la ficha de canción: +Las dos últimas se decidieron sin respuesta explícita, eligiendo en cada caso la +opción reversible. **Cambiarlas es añadir, no rehacer.** -1. **¿Las versiones de un tema se pueden valorar y marcar como favoritas por - separado?** Yo lo pondría en la principal —se valora la canción, no el - máster—, pero marcar como favorita una maqueta concreta también tiene - sentido. -2. **¿La biblioteca de prompts es herramienta interna o contenido del sitio?** - Publicar cómo se fabrica un bolero con IA en una web que vende canciones - escritas por una persona dice algo distinto de lo que dice el resto del - sitio. De la respuesta depende si necesita página, si entra en el mapa y si - la ve el buscador. +- **Valoración y favoritos van en la canción principal**, no en cada versión. Si + cada versión se valorase aparte, la media de la tarjeta dejaría de significar + nada —¿la del máster, la de la maqueta, la mezcla?— y en favoritos saldrían dos + entradas del mismo tema. La unidad con la que se interactúa es la canción. +- **Los prompts nacen privados** (`visibilidad: privado`). No porque publicarlos + esté mal, sino porque es una decisión de posicionamiento sin tomar y esta es la + reversible: publicarlos es cambiar una columna; despublicarlos cuando ya están + indexados, no. -### Ya decididas +## Todo lo decidido +- **Versiones**: una versión es una fila de `cancion` con `version_de_id`. - **Catálogo de géneros completo**, que se llena poco a poco. -- **Las fichas se generan fuera en JSON**, con un modelo más potente, y se - importan con esquema y procedencia. +- **Las fichas se generan fuera en JSON** y se importan con esquema y + procedencia. +- **Género**: `genero_origen` en lugar de `padre_id`; metro, compás y temática + como vocabularios; alias por país; completitud deducida, no marcada. - **El glosario lleva acepciones numeradas**, y el marcado apunta a una acepción: lo automático propone, una persona confirma el sentido. +- **Los prompts van en `jsonb`** validado contra el esquema de su modelo. - **Facturas de verdad**, con correlativo por contador, rectificativas e IVA por país del comprador. -- **Se conservan las escuchas por persona** — obliga a reescribir la política de - privacidad antes de publicarlo. -- **Los archivos, en `m.senzapaura.es/archives`** — y con ello, URLs firmadas - para el audio completo. +- **Se conservan las escuchas por persona.** +- **Los archivos, en `m.senzapaura.es/archives`**, con URLs firmadas para el + audio completo. + +## Lo que no es una tabla y hay que hacer igual + +1. **Reescribir la política de privacidad** antes de que las escuchas se + publiquen: hoy afirma que no hay seguimiento y dejaría de ser cierto. Es un documento legal, no una nota. +2. **El régimen de ventanilla única** del IVA para ventas digitales a otros + países de la UE. Trámite, no código. Stripe Tax calcula los tipos si se + activa. +3. **DNS, proxy y certificado** para `m.senzapaura.es`.