This commit is contained in:
2026-05-26 22:43:58 +02:00
parent 33acb92a4e
commit 39ff5ca05c
4 changed files with 806 additions and 6 deletions
+6 -2
View File
@@ -9,13 +9,14 @@ PostgreSQL 192.168.1.76:5432, databáze `fotky_buzalkovi`.
Tyto tabulky obsahují naparsované informace o fotkách — EXIF, hashe, metadata, tagy.
Jsou základem pro veškerou další práci (vyhledávání, deduplikace, organizace).
### photos (85 833 záznamů)
### photos (vyprázdněno 2026-05-26, naplňuje se z `zaloha_obrazku`)
Hlavní tabulka. Každý řádek = jedna unikátní fotka identifikovaná hashem `sha256_file`.
| Sloupec | Typ | Nullable | Default | Popis |
|---------|-----|----------|---------|-------|
| **id** | BIGSERIAL | NO | autoincrement | PK |
| zaloha_id | INTEGER | YES | — | FK → zaloha_obrazku(id) ON DELETE SET NULL (propojení s nasbíranou zálohou) |
| **sha256_file** | CHAR(64) | NO | — | SHA-256 celého souboru (UNIQUE) |
| sha256_pixels | CHAR(64) | YES | — | SHA-256 pixelových dat (odhalí změnu jen v metadatech) |
| phash | BIGINT | YES | — | Perceptuální hash (vizuální podobnost) |
@@ -67,6 +68,7 @@ Hlavní tabulka. Každý řádek = jedna unikátní fotka identifikovaná hashem
- `idx_photos_file_name` — (file_name)
- `idx_photos_file_ext` — (file_ext)
- `idx_photos_exif_gin` — GIN (exif_raw)
- `idx_photos_zaloha_id` — (zaloha_id) — pro rychlý resume při importu
---
@@ -168,4 +170,6 @@ BLAKE3 hash) může mít více záznamů, pokud existuje na různých místech/p
- Tabulka `cameras` z původního `create_schema.py` v DB neexistuje — informace o kameře
jsou přímo ve sloupcích `camera_make` / `camera_model` v tabulce `photos`.
- EXIF parser: ExifRead (Pillow má bug v GPS).
- Tabulky skupiny 1 a skupiny 2 zatím nejsou propojené (žádný FK mezi `photos` a `zaloha_obrazku`).
- Tabulky skupiny 1 a skupiny 2 jsou propojené přes `photos.zaloha_id` `zaloha_obrazku.id` (přidáno 2026-05-26).
Skript `30 SběrDat/collect_and_import.py` čte záznamy z `zaloha_obrazku`, zpracuje metadata
a uloží do `photos` včetně FK na zdrojovou zálohu.