"Descubre lo que tus bases esconden."
Herramienta CLI para extraer, validar y documentar metadatos de bases de datos con inteligencia automática 🧠✨
Extrae esquemas, genera DBML, crea diccionarios y produce informes analíticos
Soporte para PostgreSQL, MySQL/MariaDB y SQL Server. Extracción completa de tablas, columnas, tipos de datos, relaciones e índices.
Formato Excel avanzado con 19 campos especializados. Análisis de sensibilidad automático y descripciones inteligentes.
Validación exhaustiva de sintaxis, estructura y consistencia. Detección de errores en tablas, relaciones y claves. Validaciones proactivas de calidad (CamelCase, tipos, índices, autoreferences).
Score de calidad en 7 dimensiones. Análisis estadístico y recomendaciones priorizadas por impacto.
Caché automático de metadatos con TTL de 24 horas. Reducción del 90% en tiempo de extracciones subsecuentes. Serialización Pickle o JSON.
Configuración simple y comandos intuitivos
# Una sola vez
scavengr init
scavengr extract -o schema.dbml
scavengr validate -i schema.dbml
scavengr dictionary -i schema.dbml -o dict.xlsx
Múltiples formas de instalar y comenzar a usar Scavengr
Comandos principales y ejemplos prácticos
# Generar archivo .env automáticamente
scavengr init
# O configuración global
scavengr init --global
# Extraer esquema completo
scavengr extract -o mi-esquema.dbml
# Con caché (90% más rápido)
scavengr extract --cache -o mi-esquema.dbml
# Validar estructura
scavengr validate -i mi-esquema.dbml
# Diccionario de datos
scavengr dictionary -i schema.dbml -o diccionario.xlsx
# Reporte analítico
scavengr report -i schema.dbml -o reporte.xlsx
Type hints completos • 0 errores mypy • 282/282 tests pasando • 74% coverage
# Validar tipos de datos (mypy strict)
python -m mypy scavengr/ --strict
# Resultado esperado:
Success: no issues found
# Tests unitarios e integración
python -m pytest tests/ -v
# Con cobertura
python -m pytest tests/ --cov=scavengr
# Type checking + Tests + Linting
python -m mypy scavengr/ --strict && \
python -m pytest tests/ -v && \
python -m flake8 scavengr/
# Black - Formateador
python -m black scavengr/
# isort - Organizar imports
python -m isort scavengr/
# Generar reporte HTML
python -m pytest tests/ \
--cov=scavengr \
--cov-report=html
# Abrir: htmlcov/index.html
# Con todas las dependencias
pip install -e ".[dev]"
# Pre-commit hooks
pre-commit install