import os from src.services.postgresql_manager import PostgreSQLManager from src.models.weight_record import WeightRecord from sqlalchemy import func # Set DB URL if not os.environ.get('DATABASE_URL'): os.environ['DATABASE_URL'] = 'postgresql://postgres:password@localhost:5433/fitbit_garmin_sync' def main(): print("Connecting to DB...") db = PostgreSQLManager() with db.get_db_session() as session: total = session.query(WeightRecord).count() # null bmi null_bmi = session.query(WeightRecord).filter(WeightRecord.bmi == None).count() # zero bmi zero_bmi = session.query(WeightRecord).filter(WeightRecord.bmi == 0).count() # valid bmi valid_bmi = session.query(WeightRecord).filter(WeightRecord.bmi > 0).count() print(f"Total Records: {total}") print(f"Null BMI: {null_bmi}") print(f"Zero BMI: {zero_bmi}") print(f"Valid BMI: {valid_bmi}") if valid_bmi > 0: sample = session.query(WeightRecord).filter(WeightRecord.bmi > 0).first() print(f"Sample Valid: Date={sample.date}, Weight={sample.weight}, BMI={sample.bmi}") if null_bmi > 0: sample = session.query(WeightRecord).filter(WeightRecord.bmi == None).first() print(f"Sample Null: Date={sample.date}, Weight={sample.weight}, BMI={sample.bmi}") if __name__ == "__main__": main()