Add migration for assignment_type column
- Creates migration 004_add_assignment_type.py - Adds assignment_type VARCHAR(20) to chores table - Default value: 'any_one' for backward compatibility - Values: 'any_one' (only one needs to complete) or 'all_assigned' (all must complete) - Safe to run on existing database
This commit is contained in:
40
backend/migrations/004_add_assignment_type.py
Normal file
40
backend/migrations/004_add_assignment_type.py
Normal file
@@ -0,0 +1,40 @@
|
||||
"""Add assignment_type to chores table."""
|
||||
import sqlite3
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
# Add parent directory to path to import from app
|
||||
sys.path.insert(0, str(Path(__file__).parent.parent))
|
||||
|
||||
def upgrade():
|
||||
"""Add assignment_type column to chores table."""
|
||||
db_path = Path(__file__).parent.parent / "data" / "family_hub.db"
|
||||
|
||||
print(f"Connecting to database: {db_path}")
|
||||
conn = sqlite3.connect(db_path)
|
||||
cursor = conn.cursor()
|
||||
|
||||
try:
|
||||
# Add assignment_type column (default 'any_one' for backward compatibility)
|
||||
print("Adding assignment_type column to chores table...")
|
||||
cursor.execute("""
|
||||
ALTER TABLE chores
|
||||
ADD COLUMN assignment_type VARCHAR(20) DEFAULT 'any_one'
|
||||
""")
|
||||
|
||||
conn.commit()
|
||||
print("✅ Successfully added assignment_type column")
|
||||
print(" Values: 'any_one' (only one person needs to complete)")
|
||||
print(" 'all_assigned' (all assigned people must complete)")
|
||||
|
||||
except sqlite3.OperationalError as e:
|
||||
if "duplicate column name" in str(e).lower():
|
||||
print("⚠️ Column assignment_type already exists, skipping...")
|
||||
else:
|
||||
raise
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
upgrade()
|
||||
print("\n✅ Migration completed!")
|
||||
Reference in New Issue
Block a user