mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
32 lines
808 B
Python
Executable File
32 lines
808 B
Python
Executable File
import sqlite3
|
|
import os
|
|
|
|
# Connect to the database using environment variable
|
|
db_path = os.path.join(
|
|
os.getenv('NETALERTX_DB', '/data/db'),
|
|
'app.db'
|
|
)
|
|
conn = sqlite3.connect(db_path)
|
|
cursor = conn.cursor()
|
|
|
|
# Get the names of all tables (excluding SQLite internal tables)
|
|
cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%';")
|
|
tables = cursor.fetchall()
|
|
|
|
# Disable foreign key constraints temporarily
|
|
cursor.execute("PRAGMA foreign_keys = OFF;")
|
|
|
|
# Delete all rows from each table
|
|
for (table_name,) in tables:
|
|
cursor.execute(f"DELETE FROM {table_name};")
|
|
|
|
# Commit changes and re-enable foreign keys
|
|
conn.commit()
|
|
cursor.execute("PRAGMA foreign_keys = ON;")
|
|
|
|
# Vacuum to shrink database file
|
|
cursor.execute("VACUUM;")
|
|
|
|
# Close connection
|
|
conn.close()
|