8000 Update database schema · home-assistant/home-assistant.io@d08acd5 · GitHub
[go: up one dir, main page]

Skip to content

Commit d08acd5

Browse files
committed
Update database schema
The database schema has changed slightly, a few columns and indices have been added in recent versions. This is the output of Home Assistant 2025.6.1.
1 parent e2a466b commit d08acd5

File tree

1 file changed

+16
-19
lines changed

1 file changed

+16
-19
lines changed

source/_docs/backend/database.markdown

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ CREATE TABLE statistics_meta (
7474
unit_of_measurement VARCHAR(255),
7575
has_mean BOOLEAN,
7676
has_sum BOOLEAN,
77-
name VARCHAR(255),
77+
name VARCHAR(255), mean_type INTEGER NOT NULL DEFAULT 0,
7878
PRIMARY KEY (id)
7979
)
8080

@@ -87,14 +87,6 @@ CREATE TABLE recorder_runs (
8787
PRIMARY KEY (run_id)
8888
)
8989

90-
CREATE TABLE migration_changes (
91-
migration_id VARCHAR(255) NOT NULL,
92-
version SMALLINT NOT NULL,
93-
PRIMARY KEY (migration_id)
94-
)
95-
96-
97-
9890
CREATE TABLE schema_changes (
9991
change_id INTEGER NOT NULL,
10092
schema_version INTEGER,
@@ -137,7 +129,6 @@ CREATE TABLE states (
137129
event_id SMALLINT,
138130
last_changed CHAR(0),
139131
last_changed_ts FLOAT,
140-
last_reported_ts FLOAT,
141132
last_updated CHAR(0),
142133
last_updated_ts FLOAT,
143134
old_state_id INTEGER,
@@ -149,7 +140,7 @@ CREATE TABLE states (
149140
context_id_bin BLOB,
150141
context_user_id_bin BLOB,
151142
context_parent_id_bin BLOB,
152-
metadata_id INTEGER,
143+
metadata_id INTEGER, last_reported_ts FLOAT,
153144
PRIMARY KEY (state_id),
154145
FOREIGN KEY(old_state_id) REFERENCES states (state_id),
155146
FOREIGN KEY(attributes_id) REFERENCES state_attributes (attributes_id),
@@ -169,7 +160,7 @@ CREATE TABLE statistics (
169160
last_reset CHAR(0),
170161
last_reset_ts FLOAT,
171162
state FLOAT,
172-
sum FLOAT,
163+
sum FLOAT, mean_weight FLOAT,
173164
PRIMARY KEY (id),
174165
FOREIGN KEY(metadata_id) REFERENCES statistics_meta (id) ON DELETE CASCADE
175166
)
@@ -187,7 +178,7 @@ CREATE TABLE statistics_short_term (
187178
last_reset CHAR(0),
188179
last_reset_ts FLOAT,
189180
state FLOAT,
190-
sum FLOAT,
181+
sum FLOAT, mean_weight FLOAT,
191182
PRIMARY KEY (id),
192183
FOREIGN KEY(metadata_id) REFERENCES statistics_meta (id) ON DELETE CASCADE
193184
)
@@ -212,27 +203,33 @@ CREATE INDEX ix_events_data_id ON events (data_id)
212203

213204
CREATE INDEX ix_events_event_type_id_time_fired_ts ON events (event_type_id, time_fired_ts)
214205

206+
CREATE INDEX ix_events_time_fired_ts ON events (time_fired_ts)
207+
215208
CREATE INDEX ix_events_context_id_bin ON events (context_id_bin)
216209

217-
CREATE INDEX ix_events_time_fired_ts ON events (time_fired_ts)
210+
CREATE INDEX ix_states_context_id_bin ON states (context_id_bin)
218211

219212
CREATE INDEX ix_states_attributes_id ON states (attributes_id)
220213

214+
CREATE INDEX ix_states_last_updated_ts ON states (last_updated_ts)
215+
221216
CREATE INDEX ix_states_metadata_id_last_updated_ts ON states (metadata_id, last_updated_ts)
222217

223218
CREATE INDEX ix_states_old_state_id ON states (old_state_id)
224219

225-
CREATE INDEX ix_states_context_id_bin ON states (context_id_bin)
226-
227-
CREATE INDEX ix_states_last_updated_ts ON states (last_updated_ts)
220+
CREATE INDEX ix_statistics_start_ts ON statistics (start_ts)
228221

229222
CREATE UNIQUE INDEX ix_statistics_statistic_id_start_ts ON statistics (metadata_id, start_ts)
230223

231-
CREATE INDEX ix_statistics_start_ts ON statistics (start_ts)
224+
CREATE UNIQUE INDEX ix_statistics_short_term_statistic_id_start_ts ON statistics_short_term (metadata_id, start_ts)
232225

233226
CREATE INDEX ix_statistics_short_term_start_ts ON statistics_short_term (start_ts)
234227

235-
CREATE UNIQUE INDEX ix_statistics_short_term_statistic_id_start_ts ON statistics_short_term (metadata_id, start_ts)
228+
CREATE TABLE migration_changes (
229+
migration_id VARCHAR(255) NOT NULL,
230+
version SMALLINT NOT NULL,
231+
PRIMARY KEY (migration_id)
232+
)
236233
```
237234

238235
To only show the details about the `states` table (since we are using that one in the next examples):

0 commit comments

Comments
 (0)
0