Optional local database
hurahura stores subject metadata on disk under each subject’s META directory
({SubjectID}Tags.json and optional suffixed variants). For local projects that
benefit from SQL queries, an optional SQLite index can be enabled. The filesystem
remains the source of truth; the database is updated when hurahura writes meta JSON
and when existing JSON files are newer than the stored copy.
Enable in miresearch.conf:
[database]
enabled = true
db_path =
sync_on_meta_write = true
study_columns = StudyDate, StudyDescription, PatientID, Modality, ANONYMISED, Age
meta_suffixes =
meta_sync_all = true
extra_fields = ANONYMISED
db_path — SQLite file (default:
hurahura.dbindata_root_dir).sync_on_meta_write — Update the database when
updateMetaFileruns (default true).study_columns — Comma-separated top-level keys from the main Tags JSON to mirror as
subjectstable columns.meta_suffixes — Comma-separated META JSON suffixes to track (empty entry before the first comma means the main
{SubjectID}Tags.json). If omitted,-DBSyncdiscovers every*Tags*.jsonunder each subject META folder when meta_sync_all is true (default).meta_sync_all — When true, full sync includes all discovered Tags JSON files.
extra_fields — Comma-separated
[suffix:]TagNameentries promoted tosubject_extrafor SQL filters.
Rebuild the index from all subjects:
hurahura -config my.conf -sA -DBSync
Tables (conceptual):
subjects — Study-level tags from the main Tags JSON (configurable columns).
series — One row per DICOM series from the
Serieslist in that JSON.meta_json — Full JSON text per meta suffix (for ad hoc inspection).
subject_extra — Key/value pairs from
[database] extra_fields.
SQLite is appropriate for single-user, single-machine use. It is not intended for multi-user or networked deployments; use export or a dedicated server database for those.