Funnily during several “events” (accidents / incidents) I had to correct data in the database many times meanwhile - and I’ve ended up using almost the same steps.
But this topic is a good description of the necessary tasks.
I just want to add:
- Meanwhile DB schema has changed. Sometimes it might be necessary to take a look at the “new” table
state_attributes
too (usually not for fixing statistics data but likely for other purposes). - To fix things 100 % I always had to edit (in that order):
-
states
table -
statistics_short_term
table -
statistics
table
- Take causion when using date filters: the timestamps in the database are UTC, this might/will vary to your actual time (+/- X hours depending on your timezone).
- I learned to usually never delete rows from any table, as this often leads to FK constraint violation which immediately renders the database inconsistent ending in an automatically created new one with zero content. So while DELETE is very dangeorous to use, UPDATE statements with still knowing exactly what you’re doing seem to be more safe.
- For deleting (a lot of) orphaned statistics here’s a great how-to guide: