Files
core/tests/components
J. Nick Koston e798c30b8b Fix statistics schema auto repair when there is bad data (#89903)
- If the user had previously duplicated data we could end up
  picking the next metadata_id and there could be stale rows
  in the database that have that metadata_id. This can only happen
  from bad manual migrations (which is what this is function
  is validating in the first place). To solve this we now insert
  data with a future date and look at the latest inserted row
  instead of the first.

Example
```
['stored_statistics',
  defaultdict(<class 'list'>,
              {'recorder.db_test_schema': [{'end': 948589200.0,
                                            'last_reset': None,
                                            'max': None,
                                            'mean': 2021.0,
                                            'min': None,
                                            'start': 948585600.0,
                                            'state': None,
                                            'sum': 394.5068},
                                          {'end': 1601946000.000001,
                                            'last_reset': 1601942400.000001,
                                            'max': 1.000000000000001,
                                            'mean': 1.000000000000001,
                                            'min': 1.000000000000001,
                                            'start': 1601942400.000001,
                                            'state': 1.000000000000001,
                                            'sum': 1.000000000000001}]})]
```
2023-03-20 00:06:23 -04:00
..
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-05 19:10:35 +01:00
2023-02-15 14:09:50 +01:00
2023-03-01 12:29:57 -05:00
2023-02-15 14:09:50 +01:00
2023-02-17 18:43:40 +01:00
2023-02-15 12:39:12 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-03-10 12:06:50 +01:00
2023-03-01 21:19:20 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-03-02 12:33:04 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 16:46:03 -05:00
2023-02-15 14:09:50 +01:00
…
2023-02-15 14:09:50 +01:00
2023-02-15 12:39:12 +01:00
2023-02-15 14:09:50 +01:00
2023-02-09 13:41:50 +01:00
2023-03-07 11:35:48 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-22 10:18:58 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 12:39:12 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-03-07 11:35:48 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
…
2023-03-01 16:33:32 +01:00
2023-02-15 14:09:50 +01:00
2023-03-14 21:26:16 +01:00
2023-02-15 14:09:50 +01:00
2023-03-10 12:06:50 +01:00
2023-03-08 10:53:08 -05:00
2023-02-15 14:09:50 +01:00
2023-03-10 12:06:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-22 13:55:44 +01:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-03-15 18:54:28 +01:00
2023-02-15 14:09:50 +01:00
2023-03-16 11:09:54 +01:00
2023-03-07 11:35:48 +01:00
2023-02-15 14:09:50 +01:00
2023-03-04 22:26:16 +01:00
2023-02-17 21:08:18 -05:00
2023-03-10 12:06:50 +01:00
2023-03-15 10:07:12 +01:00
2023-02-23 22:15:20 -05:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-02-28 22:12:48 -05:00
2023-02-19 21:14:10 -05:00
2023-03-05 19:49:01 -05:00
2023-02-15 14:09:50 +01:00
2023-02-15 14:09:50 +01:00
2023-03-10 12:06:50 +01:00
2023-03-10 12:06:50 +01:00