import sys from app import create_app, db from app.models.user import User def init_database(): app = create_app() with app.app_context(): try: print("⏳ Conectando a la base de datos y creando tablas...") db.create_all() print("✅ Tablas creadas en la base de datos con éxito.") # Verificar o crear usuario administrador admin = User.query.filter_by(email="admin@edu-space.com").first() if not admin: print("⏳ Creando usuario administrador inicial...") admin = User( email="admin@edu-space.com", name="System Administrator", role="ADMIN", is_active=True ) admin.set_password("admin123") db.session.add(admin) db.session.commit() print("✅ Usuario inicial creado exitosamente:") print(" Email: admin@edu-space.com") print(" Password: admin123") else: print("ℹ️ El usuario admin (admin@edu-space.com) ya existe en la base de datos.") print("\n🚀 Base de datos inicializada y lista para usar.") except Exception as e: print(f"\n❌ Error al inicializar la base de datos: {str(e)}") print("\nVerifica que:") print("1. El servicio de PostgreSQL o MySQL esté corriendo.") print("2. La base de datos 'classrooms_db' haya sido creada.") print("3. La variable DATABASE_URL en el archivo .env tenga el usuario y contraseña correctos.") sys.exit(1) if __name__ == "__main__": init_database()