Bueno, pues para completar el tema, añado un poco de información:
Pueden pasar dos cosas, o bien se ha metido información anterior a la existente dado que el sistema arranca con fecha 1980, con lo que tenemos que buscar y borrar esa información:
select * from archive where datetime < xxxxxxxxxx
delete from archive where datetime < xxxxxxxxxx
Siendo xxxxxxxxxx la fecha en epoch del primer registro que tengamos bueno.
O bien lo que se mete son datos con fecha futura, entonces lo que tenemos que hacer es:
select * from archive where datetime > xxxxxxxxxx
delete from archive where datetime > xxxxxxxxxx
En este caso xxxxxxxxxx será la ultima fecha buena codificada en epoch que tengamos, o bien lo mas seguro es meterle la hora y fecha actuales en formato epoch y borrar lo que sea superior que evidentemente es lo erróneo.
El primer comando selecciona y muestra los registros que queremos borrar y el segundo si así lo queremos y estamos seguros los borra de la BBDD.
Para convertir fechas utilizaremos una utilidad como por ejemplo esta:
https://www.epochconverter.com/Solamente me queda una duda y es si obligatoriamente hay que cambiar la fecha en epoch que figura en el campo
lastUpdate de la tabla
archive_day_metadata, supongo que si porque este es el punto a partir del cual se piden datos a la estación y se empieza a actualizar, luego si no lo tocamos estaría parada hasta la llegada de esa fecha y hora. Aquí habría que poner si la tenemos la fecha y hora de los ultimos datos que haya en la BBDD que no sean erróneos o en su defecto la fecha y hora mas aproximados que podamos, a partir de la cual se le pedirán datos al dataloger si lo hay o a la estación.
Un posible comando para ver el último registro actualizado sería:
select * from archive where datetime > 1521158400 order by dateTime desc
Poniendo tras el signo de mayor por ejemplo la fecha de ayer o hoy a primera hora en epoch, si lo hacemos tras haber eliminado los errores de fecha futura el datetime del primer registro mostrado será la última actualización habida, si no, tendremos que eliminar los datos de fecha futura visualmente y coger el registro mas actualizado (de los que sean lógicos)
Dificil no es, pero recordar siempre que primero se localiza, luego se analiza el problema, y solo cuando estemos seguros de lo que vamos a hacer se ejecuta la solución... y siempre con copia de seguridad de la BBDD previa.
Saludos.
Xavi