Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """ | |
| Database reset script for the LLM Chatbot. | |
| This script clears all transaction data while keeping the basic structure intact. | |
| """ | |
| import sqlite3 | |
| import os | |
| def reset_database(): | |
| """Reset the database by clearing all transaction data""" | |
| db_path = "chatbot.db" | |
| if not os.path.exists(db_path): | |
| print(f"β Database file '{db_path}' not found.") | |
| return | |
| try: | |
| conn = sqlite3.connect(db_path) | |
| cursor = conn.cursor() | |
| print("ποΈ Clearing transaction data...") | |
| # Clear all transaction data | |
| cursor.execute("DELETE FROM sales") | |
| cursor.execute("DELETE FROM purchases") | |
| # Reset auto-increment counters | |
| cursor.execute("DELETE FROM sqlite_sequence WHERE name IN ('sales', 'purchases')") | |
| # Clear customers that were created during testing (keep default ones) | |
| cursor.execute("DELETE FROM customers") | |
| # Keep default suppliers and products, but can remove dynamic ones | |
| # For now, we'll keep all suppliers and products | |
| conn.commit() | |
| # Check results | |
| cursor.execute("SELECT COUNT(*) FROM purchases") | |
| purchases_count = cursor.fetchone()[0] | |
| cursor.execute("SELECT COUNT(*) FROM sales") | |
| sales_count = cursor.fetchone()[0] | |
| cursor.execute("SELECT COUNT(*) FROM customers") | |
| customers_count = cursor.fetchone()[0] | |
| print(f"β Database reset complete!") | |
| print(f" - Purchases: {purchases_count}") | |
| print(f" - Sales: {sales_count}") | |
| print(f" - Customers: {customers_count}") | |
| print(f"π‘ You can now add new sample data using 'python populate_sample_data.py'") | |
| except Exception as e: | |
| print(f"β Error resetting database: {e}") | |
| finally: | |
| conn.close() | |
| if __name__ == "__main__": | |
| response = input("β οΈ This will delete all transaction data. Continue? (y/N): ") | |
| if response.lower() in ['y', 'yes']: | |
| reset_database() | |
| else: | |
| print("π« Operation cancelled.") |