Initial commit - Migrated to Dev environment
This commit is contained in:
46
backend/_legacy_backup/update_audit_system.py
Executable file
46
backend/_legacy_backup/update_audit_system.py
Executable file
@@ -0,0 +1,46 @@
|
||||
import asyncio
|
||||
import os
|
||||
from sqlalchemy.ext.asyncio import create_async_engine
|
||||
from sqlalchemy import text
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
raw_url = os.getenv("DATABASE_URL")
|
||||
if not raw_url:
|
||||
raw_url = "postgresql://admin:PASSWORD_111@postgres-db:5432/service_finder"
|
||||
DATABASE_URL = raw_url.replace("postgresql://", "postgresql+asyncpg://").replace("/service_finder_db", "/service_finder")
|
||||
|
||||
async def build_audit_system():
|
||||
engine = create_async_engine(DATABASE_URL)
|
||||
|
||||
async with engine.begin() as conn:
|
||||
print("📜 Audit Log tábla létrehozása...")
|
||||
# Ez a tábla sosem töröl, csak ír! (Append-only)
|
||||
await conn.execute(text("""
|
||||
CREATE TABLE IF NOT EXISTS data.audit_logs (
|
||||
id SERIAL PRIMARY KEY,
|
||||
user_id INTEGER REFERENCES data.users(id), -- KI csinálta?
|
||||
event_type VARCHAR(50) NOT NULL, -- MIT? (pl. ISSUE_REPORT, MILEAGE_UPDATE)
|
||||
target_id INTEGER, -- MELYIK autón? (Vehicle ID)
|
||||
old_value TEXT, -- MI volt előtte? (A visszaállításhoz)
|
||||
new_value TEXT, -- MI lett utána?
|
||||
details TEXT, -- Egyéb megjegyzés (pl. hiba leírása)
|
||||
ip_address VARCHAR(45), -- Honnan? (Biztonság)
|
||||
created_at TIMESTAMP DEFAULT NOW()
|
||||
);
|
||||
"""))
|
||||
|
||||
print("🚦 Jármű Státusz mezők hozzáadása...")
|
||||
# Bővítjük a járműveket, hogy tárolják a hibát
|
||||
await conn.execute(text("""
|
||||
ALTER TABLE data.vehicles
|
||||
ADD COLUMN IF NOT EXISTS status VARCHAR(20) DEFAULT 'OK', -- OK, WARNING, CRITICAL
|
||||
ADD COLUMN IF NOT EXISTS current_issue TEXT; -- A hiba leírása
|
||||
"""))
|
||||
|
||||
print("✅ KÉSZ! A mindent látó szem (Audit Log) aktív.")
|
||||
await engine.dispose()
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(build_audit_system())
|
||||
Reference in New Issue
Block a user