#!/usr/bin/env python3 """ Script para inicializar la base de datos con usuarios de prueba """ from app.core.database import SessionLocal, engine, Base from app.core.security import get_password_hash from app.models import User from sqlalchemy import text def init_db(): db = SessionLocal() try: # Verificar conexión db.execute(text("SELECT 1")) print("✓ Conexión a la base de datos exitosa") # Verificar si ya existen usuarios existing_users = db.query(User).count() if existing_users > 0: print(f"⚠ Ya existen {existing_users} usuario(s) en la base de datos") return # Crear usuario administrador admin = User( username="admin", email="admin@checklist.com", full_name="Administrador", password_hash=get_password_hash("admin123"), role="admin", is_active=True ) db.add(admin) # Crear usuario mecánico de prueba mechanic = User( username="mechanic", email="mechanic@checklist.com", full_name="Mecánico de Prueba", password_hash=get_password_hash("mechanic123"), role="mechanic", is_active=True ) db.add(mechanic) db.commit() print("✓ Usuarios creados exitosamente:") print(" - Admin: username='admin', password='admin123'") print(" - Mechanic: username='mechanic', password='mechanic123'") except Exception as e: print(f"✗ Error al inicializar la base de datos: {e}") db.rollback() finally: db.close() if __name__ == "__main__": print("Inicializando base de datos...") init_db() print("¡Inicialización completada!")