57 lines
2.0 KiB
Python
57 lines
2.0 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
Fix project enum values in the database to match the model definitions.
|
|
"""
|
|
|
|
import sqlite3
|
|
from pathlib import Path
|
|
|
|
def fix_project_enums():
|
|
"""Fix project enum values to match model definitions."""
|
|
|
|
print("Fixing Project Enum Values")
|
|
print("=" * 30)
|
|
|
|
db_path = "vfx_project_management.db"
|
|
|
|
try:
|
|
conn = sqlite3.connect(db_path)
|
|
cursor = conn.cursor()
|
|
|
|
# Fix project_type values
|
|
print("1. Fixing project_type values...")
|
|
cursor.execute("UPDATE projects SET project_type = 'cinema' WHERE project_type = 'CINEMA'")
|
|
cursor.execute("UPDATE projects SET project_type = 'tv' WHERE project_type = 'TV'")
|
|
cursor.execute("UPDATE projects SET project_type = 'game' WHERE project_type = 'GAME'")
|
|
|
|
# Fix status values
|
|
print("2. Fixing status values...")
|
|
cursor.execute("UPDATE projects SET status = 'planning' WHERE status = 'PLANNING'")
|
|
cursor.execute("UPDATE projects SET status = 'in_progress' WHERE status = 'IN_PROGRESS'")
|
|
cursor.execute("UPDATE projects SET status = 'on_hold' WHERE status = 'ON_HOLD'")
|
|
cursor.execute("UPDATE projects SET status = 'completed' WHERE status = 'COMPLETED'")
|
|
cursor.execute("UPDATE projects SET status = 'cancelled' WHERE status = 'CANCELLED'")
|
|
|
|
# Commit changes
|
|
conn.commit()
|
|
|
|
# Verify the changes
|
|
print("\n3. Verifying changes...")
|
|
cursor.execute("SELECT id, name, project_type, status FROM projects")
|
|
projects = cursor.fetchall()
|
|
|
|
for project in projects:
|
|
print(f" ID {project[0]}: {project[1]} - Type: {project[2]}, Status: {project[3]}")
|
|
|
|
print("\n✅ Project enum values fixed successfully!")
|
|
|
|
except Exception as e:
|
|
print(f"❌ Error: {e}")
|
|
if conn:
|
|
conn.rollback()
|
|
finally:
|
|
if conn:
|
|
conn.close()
|
|
|
|
if __name__ == "__main__":
|
|
fix_project_enums() |