{% extends "base.html" %} {% block title %}Database — FreeWeight{% endblock %} {% block content %}
Your measurement history lives here and nowhere else. Nothing on this page removes anything without first showing you exactly what it would remove, and models and machines are never removed by a result deletion — what exists outlives what was measured.
{% if error %}{{ error }}
{{ stats.status.dialect }}
{% if stats.status.is_at_head %}At head.{% else %}Head is {{ stats.status.head_revision }} — run freeweight db upgrade.{% endif %}
{{ stats.status.integrity_detail }}
{% if stats.last_backup_at %}Latest {{ stats.last_backup_at | timestamp }}{% else %}None taken yet{% endif %}
On disk beside the database.
Automatic pre-migration backups, oldest rotated away. Results themselves are never deleted on a timer — a measurement does not expire. Remove a model's results when you remove the model. Change it on Settings.
| Table | Rows |
|---|---|
| {{ table }} | {{ count }} |
run takes a ULID or prefix · model a canonical ID · suite
a suite key · before an RFC 3339 instant · all takes no selector.
{{ preview.summary_line() }}
{% if preview.run_ids %}| Table | Rows removed |
|---|---|
| {{ table }} | {{ count }} |
| Total | {{ preview.total_rows }} |
| Table | Rows kept |
|---|---|
| {{ table }} | {{ count }} |
{% if preview.will_backup %} A backup will be taken automatically first, because this removes {{ preview.total_rows }} rows. {% else %} No automatic backup: this is below the threshold. Take one from the button below if you want one. {% endif %}
{% else %}Nothing matches this selection, so there is nothing to confirm.
{% endif %}{{ outcome.deleted_counts.values() | sum }} rows removed across {{ outcome.preview.run_ids | length }} runs.
{% if outcome.backup_path %}A backup was written to {{ outcome.backup_path }} first.
| Table | Previewed | Removed |
|---|---|---|
| {{ table }} | {{ count }} | {{ outcome.deleted_counts.get(table, 0) }} |
| Table | Rows |
|---|---|
| {{ table }} | {{ count }} |
Backups are written inside the data directory with mode 0600 and are never sent anywhere.
Restore is deliberately command-line only: freeweight db restore <path> --yes.