LinkDesk/backend/debug_projects.py

65 lines
1.9 KiB
Python

#!/usr/bin/env python3
"""
Debug script to check projects table and data.
"""
import sqlite3
from pathlib import Path
def debug_projects():
"""Debug projects table structure and data."""
print("Debugging Projects Table")
print("=" * 30)
db_path = "vfx_project_management.db"
try:
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
# Check table structure
print("1. Projects table structure:")
cursor.execute("PRAGMA table_info(projects)")
columns = cursor.fetchall()
for col in columns:
print(f" {col[1]} ({col[2]}) - NOT NULL: {bool(col[3])}")
# Check data
print("\n2. Projects data:")
cursor.execute("SELECT * FROM projects")
projects = cursor.fetchall()
if not projects:
print(" No projects found")
else:
for i, project in enumerate(projects):
print(f" Project {i+1}: {project}")
# Check specific fields that might be causing issues
print("\n3. Checking for NULL values in required fields:")
cursor.execute("""
SELECT id, name, code_name, client_name, project_type, status, created_at, updated_at
FROM projects
""")
projects = cursor.fetchall()
for project in projects:
print(f" ID: {project[0]}")
print(f" Name: {project[1]}")
print(f" Code: {project[2]}")
print(f" Client: {project[3]}")
print(f" Type: {project[4]}")
print(f" Status: {project[5]}")
print(f" Created: {project[6]}")
print(f" Updated: {project[7]}")
print()
except Exception as e:
print(f"Error: {e}")
finally:
if conn:
conn.close()
if __name__ == "__main__":
debug_projects()