Init Repo

This commit is contained in:
2026-02-28 03:22:04 +08:00
commit de59b57ee7
883 changed files with 156857 additions and 0 deletions
+110
View File
@@ -0,0 +1,110 @@
"""
Migration script to add project settings fields to the projects table.
This adds support for upload location configuration and default task templates.
"""
import sqlite3
import json
def migrate_project_settings():
"""Add project settings fields to projects table"""
conn = sqlite3.connect('vfx_project_management.db')
cursor = conn.cursor()
try:
# Check if columns already exist
cursor.execute("PRAGMA table_info(projects)")
columns = [column[1] for column in cursor.fetchall()]
# Add upload_data_location column if it doesn't exist
if 'upload_data_location' not in columns:
print("Adding upload_data_location column...")
cursor.execute("""
ALTER TABLE projects
ADD COLUMN upload_data_location TEXT
""")
print("✓ Added upload_data_location column")
else:
print("✓ upload_data_location column already exists")
# Add asset_task_templates column if it doesn't exist
if 'asset_task_templates' not in columns:
print("Adding asset_task_templates column...")
cursor.execute("""
ALTER TABLE projects
ADD COLUMN asset_task_templates TEXT
""")
# Set default values for existing projects
default_asset_templates = json.dumps({
"characters": ["modeling", "surfacing", "rigging"],
"props": ["modeling", "surfacing"],
"sets": ["modeling", "surfacing"],
"vehicles": ["modeling", "surfacing", "rigging"]
})
cursor.execute("""
UPDATE projects
SET asset_task_templates = ?
WHERE asset_task_templates IS NULL
""", (default_asset_templates,))
print("✓ Added asset_task_templates column with default values")
else:
print("✓ asset_task_templates column already exists")
# Add shot_task_templates column if it doesn't exist
if 'shot_task_templates' not in columns:
print("Adding shot_task_templates column...")
cursor.execute("""
ALTER TABLE projects
ADD COLUMN shot_task_templates TEXT
""")
# Set default values for existing projects
default_shot_templates = json.dumps([
"layout", "animation", "simulation", "lighting", "compositing"
])
cursor.execute("""
UPDATE projects
SET shot_task_templates = ?
WHERE shot_task_templates IS NULL
""", (default_shot_templates,))
print("✓ Added shot_task_templates column with default values")
else:
print("✓ shot_task_templates column already exists")
# Add enabled_asset_tasks column if it doesn't exist
if 'enabled_asset_tasks' not in columns:
print("Adding enabled_asset_tasks column...")
cursor.execute("""
ALTER TABLE projects
ADD COLUMN enabled_asset_tasks TEXT
""")
print("✓ Added enabled_asset_tasks column")
else:
print("✓ enabled_asset_tasks column already exists")
# Add enabled_shot_tasks column if it doesn't exist
if 'enabled_shot_tasks' not in columns:
print("Adding enabled_shot_tasks column...")
cursor.execute("""
ALTER TABLE projects
ADD COLUMN enabled_shot_tasks TEXT
""")
print("✓ Added enabled_shot_tasks column")
else:
print("✓ enabled_shot_tasks column already exists")
conn.commit()
print("\n✅ Migration completed successfully!")
except Exception as e:
conn.rollback()
print(f"\n❌ Migration failed: {e}")
raise
finally:
conn.close()
if __name__ == "__main__":
print("Starting project settings migration...")
print("=" * 50)
migrate_project_settings()