40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
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()
|