#!/usr/bin/env python3 """ Script to delete all SIGMA rules from the database This will clear existing rules so they can be regenerated with the improved LLM client """ from main import SigmaRule, SessionLocal import logging # Setup logging logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def delete_all_sigma_rules(): """Delete all SIGMA rules from the database""" db = SessionLocal() try: # Count existing rules total_rules = db.query(SigmaRule).count() logger.info(f"Found {total_rules} SIGMA rules in database") if total_rules == 0: logger.info("No SIGMA rules to delete") return 0 # Delete all SIGMA rules logger.info("Deleting all SIGMA rules...") deleted_count = db.query(SigmaRule).delete() db.commit() logger.info(f"āœ… Successfully deleted {deleted_count} SIGMA rules") # Verify deletion remaining_rules = db.query(SigmaRule).count() logger.info(f"Remaining rules in database: {remaining_rules}") return deleted_count except Exception as e: logger.error(f"Error deleting SIGMA rules: {e}") db.rollback() raise finally: db.close() if __name__ == "__main__": print("šŸ—‘ļø Deleting all SIGMA rules from database...") print("This will allow regeneration with the improved LLM client.") deleted_count = delete_all_sigma_rules() if deleted_count > 0: print(f"\nšŸŽ‰ Successfully deleted {deleted_count} SIGMA rules!") print("You can now regenerate them with the fixed LLM prompts.") else: print("\nāœ… No SIGMA rules were found to delete.")