U
    7h                     @   s  d dl mZmZ d dlZd dlmZ d dlZd dlmZ e  e	de
 ZeeZed e Zed eedZe ZereD ]pZed	ed    ed
ed   eded   eded  d zeed ereed ned Zed edejedddd  d dekrPeded   dekrleded   dekreed erded kreded d   ded kreded d   W q ek
r Z zede  W 5 dZ[X Y qX qned ed  eed!Ze Zed"ed    ed#ed   ed$ed   ed%ed&   W 5 Q R X ed' eed(Ze Z eD ]N\Z!z8ee!eree!ne!Zeeere "e#  W n   Y nX qe red)e   ned* dS )+    )create_enginetextN)Config)load_dotenvDATABASE_URLz)=== Checking Activity Data JSON Field ===z!
1. Sample activity_data content:z
        SELECT 
            id,
            developer_id,
            activity_data,
            duration,
            timestamp
        FROM activity_records 
        WHERE activity_data IS NOT NULL
        AND activity_data != '{}'
        LIMIT 5
    z
   Record ID: z   Developer:    z   Timestamp:    z   Duration:    z secondsz   Activity Data:z         )indenti  z...Zappu      ✓ Found 'app' field: titleu      ✓ Found 'title' field: datau      ✓ Found 'data.app' field: u!      ✓ Found 'data.title' field: z   Error parsing JSON: z'   No records with activity_data found!z
2. Activity data statistics:aR  
        SELECT 
            COUNT(*) as total,
            COUNT(CASE WHEN activity_data IS NULL THEN 1 END) as null_data,
            COUNT(CASE WHEN activity_data = '{}' THEN 1 END) as empty_data,
            COUNT(CASE WHEN activity_data IS NOT NULL AND activity_data != '{}' THEN 1 END) as has_data
        FROM activity_records
    z   Total records: z   NULL activity_data: z   Empty JSON ('{}'): z   Has data:    z/
3. Checking data structure in activity_data...z
    SELECT activity_data 
    FROM activity_records 
    WHERE activity_data IS NOT NULL 
    AND activity_data != '{}'
    AND activity_data != ''
    LIMIT 10
z    Found keys in activity_data: z,   No valid JSON data found in activity_data)$Z
sqlalchemyr   r   ZjsonZconfigr   osZdotenvr   getenvZget_database_urlr   ZengineprintZconnectZconnZexecuteresultZfetchallZrecordsrecord
isinstancestrloadsr   dumpsdict	ExceptioneZfetchoneZstatssetZunique_keysZdata_strupdatekeys r   r   ./check_activity_json.py<module>   sl   
&"

$		

