Tengo un cliente que tiene su sitio en Google con Firebase. Las tablas son:
"Notas" que quiene los campos:
Contenido (textos y fotos) (se explica debajo)
Copete (texto)
Epigrafe (texto)
Estado (se ignora)
Etiquetas (nombre y slug)
Fecha de publicación (fecha + hora)
imagen (con link a foto a descargar) (se explica debajo)
propietario_id (varchar asociado a id de la tabla users)
Slug (texto)
Titulo (texto)
Seccion (texto que se guarda en tabla "secciones" - Se explica debajo)
"Usuarios" tiene los campos:
id (relacionado a notas)
nombre (texto)
email (mail)
foto (link a gravatar)
Necesitamos llevar todo esto a una DB MySQL con tablas y campos descriptas debajo:
Agregado.
Campos de tablas locales.
Novedades (aquí van a cargarse las que vengan de la tabla NOTAS) - Entrego esta tabla con datos de prueba.
Id (autoincremental)
Fecha (es el campo fecha_de_publicacion de la tabla Firebase)
Hora (viene en el campo "fecha" de firebase)
titulo (es el campo "contenidos" de la tabla Firebase)
estado (2 - valor fijo)
Texto (es el campo texto de la tabla Firebase)
seccion (id de sección de tablas secciones) Se importa el nombre a la tabla secciones y se trae el id.
Copete (es el campo "copete" de la tabla Firebase)
volanta (es el campo "volanta" de la tabla Firebase)
autor (id de tabla de autores) se importan a la tabla autores con sus datos y se trae el id. La foto se guarda en una carpeta "autores" con el formato "[id].jpg"
fotografx (se ignora)
seourl (es el campo slug de la tabla Firebase)
video_apertura (se ignora)
Tags (son las etiquetas que se importan de "etiquetas")
orden (se ignora)
home (se ignora)
visitas (se ignora)
cache (se ignora)
del (valor 0 por defecto de la tabla)
Contenidos: textos y fotos
El "contenido" llega en partes. Entonces tenemos por ejemplo:
-> contenido
-> 0
-> contenido: "<p>Texto de pruebas</p>"
-> type = "bloque de texto"
-> 1
-> contenido
-> name: "
sdsdsjsoccwoe.jpg"
-> size: "592KB"
-> type: "image/jpg"
-> urlFile: "
https://firebasestorage.googleapis.com/v0/b/website.appspot.com/o/imagenes%2Fnotas%2Fcontent-afbf8d74-e207-4c59-b621-0fd74afcf68c-1664589956702-Fd2NF5hXgAEkkll.png?alt=media&token=e7b5047a-34dd-461b-bb56-6643e2a931ac"
-> type: "imagen"
-> 2
-> contenido: "<p>Texto de pruebas</p>"
-> type = "bloque de texto"
-> 3
-> contenido
-> name: "
gfdgdfgdfg.jpg"
-> size: "592KB"
-> type: "image/jpg"
-> urlFile: "
https://firebasestorage.googleapis.com/v0/b/website.appspot.com/o/imagenes%2Fnotas%2Fcontent-afbf8d74-e207-4c59-b621-0fd74afcf68c-1664589956702-Fd2NF5hXgAEkkll.png?alt=media&token=e7b5047a-34dd-461b-bb56-6643e2a931ac"
-> type: "imagen"
Y así se intercalan textos e imágenes.
Nosotros necesitamos que el campo "texto" contega los bloques y las fotos como **foto1** y **foto2** etc.
Ej: <p>Texto de pruebas</p>
**foto1**
<p>Texto de pruebas</p>
**foto2**
<p>Texto de pruebas</p>
**foto3**
Y así.
Las fotos se guardan en una tabla:
fotos:
id (autoincremental)
tipo: 10 (fijo)
item: (id de la novedad)
ppal: (1 si es la primera foto y 0 si es cualquiera de las otras)
link: fotos/2022/10/03/9098-10/
imagen_12.jpg
La nomenclatura de la carpeta de guardado corresponde a:
"fotos" (nombre de la carpeta, es siempre la misma)
"2022/10/03" (la fecha de la noticia)
"9098" Es el id de la novedad
"-10" valor fijo siempre igual
el número 12 de
imagen_12.jpg está asociado al id de la foto
En esa carpeta hay que guardar las fotos.
IMPORTANTE: Cotizar lo siguiente aparte.
Las etiquetas vienen con nombre y slug. Queremos guardarlas separadas por comas en la tabla novedades (esto por defecto). Lo que queremos cotizar aparte es:
Guardar cada tag con su slug en una tabla "tags" y relacionar las novedades con sus etiquetas en una tabla "novedades_tags" con los campos id (autoincremental), tag (id tags), novedad (id novedades), fecha (de la novedad)
Delivery term: Not specified