#!/usr/bin/env python3 """ Script to add the 'housekeeping' role to the database. Run this script once to create the housekeeping role if it doesn't exist. """ import sys import os from pathlib import Path # Add the Backend directory to the path backend_dir = Path(__file__).parent.parent sys.path.insert(0, str(backend_dir)) from src.shared.config.database import SessionLocal from src.models import Role # Use the models __init__ which handles all imports def add_housekeeping_role(): """Add the housekeeping role to the database if it doesn't exist.""" db = SessionLocal() try: # Check if housekeeping role already exists existing_role = db.query(Role).filter(Role.name == 'housekeeping').first() if existing_role: print("✓ Housekeeping role already exists in the database.") print(f" Role ID: {existing_role.id}") print(f" Role Name: {existing_role.name}") return # Create the housekeeping role housekeeping_role = Role( name='housekeeping', description='Housekeeping staff role with access to room cleaning tasks and status updates' ) db.add(housekeeping_role) db.commit() db.refresh(housekeeping_role) print("✓ Housekeeping role created successfully!") print(f" Role ID: {housekeeping_role.id}") print(f" Role Name: {housekeeping_role.name}") print(f" Description: {housekeeping_role.description}") except Exception as e: db.rollback() print(f"✗ Error creating housekeeping role: {e}") import traceback traceback.print_exc() sys.exit(1) finally: db.close() if __name__ == '__main__': print("Adding housekeeping role to the database...") print("=" * 60) add_housekeeping_role() print("=" * 60) print("Done!")