fs-lawrisk/tools/inspect_theme_tables.py

45 lines
1.5 KiB
Python
Raw Normal View History

import os
import pg8000.dbapi as pg
def load_env():
env_vars = {}
try:
with open('.env', 'r', encoding='utf-8') as f:
for line in f:
line = line.strip()
if not line or line.startswith('#'):
continue
if '=' in line:
k, v = line.split('=', 1)
env_vars[k.strip()] = v.strip()
except Exception:
pass
return env_vars
env = load_env()
HOST = env.get("LIC_PG_HOST", "172.24.240.1")
PORT = int(env.get("LIC_PG_PORT", "5432"))
USER = env.get("LIC_PG_USER", "postgres")
PASSWORD = env.get("LIC_PG_PASSWORD", "")
DATABASE = env.get("LIC_PG_DATABASE", "licensing_risks")
print(f"Connecting to {HOST}:{PORT}/{DATABASE} as {USER}")
try:
conn = pg.connect(host=HOST, port=PORT, user=USER, password=PASSWORD, database=DATABASE)
cursor = conn.cursor()
print("Tables with 'theme' in name:")
cursor.execute("SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' AND table_name LIKE '%theme%'")
for row in cursor.fetchall():
print(f" - {row[0]}")
# Describe table
print(f" Columns for {row[0]}:")
cursor.execute(f"SELECT column_name, data_type FROM information_schema.columns WHERE table_name = '{row[0]}'")
for col in cursor.fetchall():
print(f" - {col[0]} ({col[1]})")
conn.close()
except Exception as e:
print(f"Error: {e}")