45 lines
1.4 KiB
Python
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.")
|