⚙️
Jenkins CI/CD
push / schedule
pytest tests/
--app sample_app
--flow migrate_sql
_to_snowflake
--env dev
--sendEmail
🔧
Config Resolution
load_runtime_config()
app YAML +
check_profiles.yaml
flow → env →
source/target →
checks → rules
🔌
DB Connectors
build_client()
🗄 SQL Server
Windows Auth
❄️ Snowflake
Service Account
🔍
Table Discovery
MetadataDiscovery
Explicit mappings
or
INFORMATION_SCHEMA
include / exclude
→ TablePair list
✅
Validation Engine
MigrationRunner
per table pair
Row Count
Schema
Min/Max
Checksum
Constraints
Null Check
ETL Rules
Lookup
Type Conv
known_differences
fail → warn
📊
Reports
JSON report
HTML report
reports/<app>_
<flow>_<env>
pass/fail/warn
per table
📧
Email Report
email_utils.py
SMTP relay
<smtp-server-host>
HTML summary
+ attachments