Files
fotkyBuzalkovi/00 PictureCollector/create_tables.py
T
administrator d62b1a801c notebookVb
2026-05-24 06:55:47 +02:00

45 lines
1.4 KiB
Python

import psycopg2
DB_CONFIG = {
"host": "192.168.1.76",
"port": 5432,
"user": "vladimir.buzalka",
"password": "Vlado7309208104++",
"database": "fotky_buzalkovi",
}
SQL = """
CREATE TABLE IF NOT EXISTS zaloha_obrazku (
id SERIAL PRIMARY KEY,
blake3_hash VARCHAR(64) UNIQUE NOT NULL,
cesta_zalohy TEXT NOT NULL,
nazev_souboru VARCHAR(512) NOT NULL,
velikost BIGINT,
datum_kopirovani TIMESTAMP DEFAULT NOW()
);
CREATE TABLE IF NOT EXISTS zdrojove_soubory (
id SERIAL PRIMARY KEY,
hostname VARCHAR(255) NOT NULL,
cesta_zdroje TEXT NOT NULL,
nazev_souboru VARCHAR(512) NOT NULL,
velikost BIGINT,
datum_nalezeni TIMESTAMP DEFAULT NOW(),
blake3_hash VARCHAR(64) NOT NULL,
zaloha_id INTEGER REFERENCES zaloha_obrazku(id),
UNIQUE (hostname, cesta_zdroje)
);
CREATE INDEX IF NOT EXISTS idx_zaloha_hash ON zaloha_obrazku (blake3_hash);
CREATE INDEX IF NOT EXISTS idx_zdroj_hash ON zdrojove_soubory (blake3_hash);
CREATE INDEX IF NOT EXISTS idx_zdroj_zaloha ON zdrojove_soubory (zaloha_id);
CREATE INDEX IF NOT EXISTS idx_zdroj_host ON zdrojove_soubory (hostname);
"""
conn = psycopg2.connect(**DB_CONFIG)
conn.autocommit = True
with conn.cursor() as cur:
cur.execute(SQL)
conn.close()
print("Tabulky vytvoreny.")