0.4.2 - Early implementation of SLMs. WIP.

This commit is contained in:
serversdwn
2026-01-06 07:50:58 +00:00
parent 96cb27ef83
commit 4d74eda65f
36 changed files with 4211 additions and 12 deletions

View File

@@ -0,0 +1,45 @@
#!/usr/bin/env python3
"""
Remove test SLMs and modems from PRODUCTION database
"""
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from backend.models import RosterUnit
# PRODUCTION database
PROD_DB_URL = "sqlite:///./data/seismo_fleet.db"
def remove_test_data():
engine = create_engine(PROD_DB_URL, connect_args={"check_same_thread": False})
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
db = SessionLocal()
# IDs to remove
test_slm_ids = ["nl43-001", "nl43-002", "nl53-001", "nl43-003"]
test_modem_ids = ["modem-001", "modem-002", "modem-003", "modem-004"]
all_test_ids = test_slm_ids + test_modem_ids
removed = []
for unit_id in all_test_ids:
unit = db.query(RosterUnit).filter_by(id=unit_id).first()
if unit:
db.delete(unit)
removed.append(unit_id)
print(f"Removed {unit_id}")
if removed:
db.commit()
print(f"\nRemoved {len(removed)} test units from PRODUCTION database")
else:
print("No test units found in production database")
db.close()
if __name__ == "__main__":
print("Removing test data from PRODUCTION database...")
print("=" * 60)
remove_test_data()
print("=" * 60)
print("Done! Production database is clean.")