U
    h                     @   s.  d dl mZmZ d dlmZ d dlZd dlmZ e  ede	 Z
ee
ddZze ~Zed ed	 eed
 Zereded  ded  d eed Zereded  ded  d ed eedZeD ]4Zeded   ded  ded  ded   qed eedZeD ],Zeded   ded  ded   qDed eedZeeZeredee d eD ] \ZZed e d!e d" qned# W 5 Q R X W nB ek
r( Z z"ed$e  d dlZe  W 5 dZ[X Y nX dS )%    )create_enginetext)ConfigN)load_dotenvDATABASE_URLF)Zechou   ✅ Connected to databasez#
=== Checking column data types ===z
            SELECT column_name, data_type, character_maximum_length
            FROM information_schema.columns
            WHERE table_name = 'developers' AND column_name = 'developer_id'
        zdevelopers.developer_id:    z (max length:    )z
            SELECT column_name, data_type, character_maximum_length
            FROM information_schema.columns
            WHERE table_name = 'activity_records' AND column_name = 'developer_id'
        zactivity_records.developer_id: z$
=== Sample data from developers ===z
            SELECT id, developer_id, name, pg_typeof(developer_id) as type
            FROM developers
            LIMIT 5
        zID: z, developer_id: 'z	', name: z, type:    z*
=== Sample data from activity_records ===z
            SELECT id, developer_id, pg_typeof(developer_id) as type
            FROM activity_records
            WHERE developer_id IS NOT NULL
            LIMIT 5
        z	', type: z&
=== Checking for problematic data ===z
            SELECT COUNT(*), developer_id
            FROM activity_records
            WHERE developer_id ~ '^[0-9]+$'
            GROUP BY developer_id
            LIMIT 5
        zFound z+ numeric developer_ids in activity_records:z  developer_id 'z
' appears z timesz2No numeric developer_ids found in activity_recordsu   ❌ Error: )Z
sqlalchemyr   r   Zconfigr   osZdotenvr   getenvZget_database_urlr   ZengineZconnectZconnprintZexecuteZfetchoneresultrowlistZnumeric_idslencountZdev_id	Exceptione	traceback	print_exc r   r   ./check_data_types.py<module>   sH   2*