54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
"""
|
|
Debug script to test database operations.
|
|
"""
|
|
|
|
import sys
|
|
import os
|
|
import sqlite3
|
|
|
|
# Add current directory to path
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
print("Testing database operations...")
|
|
|
|
# Test direct SQLite connection
|
|
try:
|
|
conn = sqlite3.connect('smtp_server.db')
|
|
cursor = conn.cursor()
|
|
|
|
# Check tables
|
|
cursor.execute("SELECT name FROM sqlite_master WHERE type='table';")
|
|
tables = cursor.fetchall()
|
|
print(f"Tables in database: {[table[0] for table in tables]}")
|
|
|
|
# Check domains
|
|
cursor.execute("SELECT * FROM domains;")
|
|
domains = cursor.fetchall()
|
|
print(f"Domains: {domains}")
|
|
|
|
conn.close()
|
|
print("Direct SQLite test successful")
|
|
|
|
except Exception as e:
|
|
print(f"Direct SQLite test failed: {e}")
|
|
|
|
# Test SQLAlchemy models
|
|
try:
|
|
from models import Session, Domain, User, WhitelistedIP, create_tables
|
|
print("Models imported successfully")
|
|
|
|
# Create session
|
|
session = Session()
|
|
|
|
# Check domains
|
|
domains = session.query(Domain).all()
|
|
print(f"SQLAlchemy domains: {[(d.id, d.domain_name) for d in domains]}")
|
|
|
|
session.close()
|
|
print("SQLAlchemy test successful")
|
|
|
|
except Exception as e:
|
|
print(f"SQLAlchemy test failed: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|