U
    hE                  
   @   s  d dl Z d dlZe jd eje d dlmZmZ d dl	m
Z
 d dlmZ d dlmZ e  ede Zede  eedd	Ze
d
d
edZed z.e ZeedZed W 5 Q R X W n< ek
r
 Z zede  e d W 5 dZ[X Y nX ed zd dlZed W nL ek
rt Z z,ede  d dlZe  e d W 5 dZ[X Y nX ed zejj j!ed ed W nB ek
r Z z"ede  d dlZe  W 5 dZ[X Y nX ed zJe Z"e"#ej$%ej$j&dk'd( Z)ede*e) d e"+  W nB ek
rr Z z"ede  d dlZe  W 5 dZ[X Y nX ed zd dlm,Z, e Z"e"#ej-j.e,/ej-j01de,2ej-j31d 4ej-j.5 Z5e"#ej$e,6e5j7j8d 1de5j7j9:e5ej$j.e5j7j.k%ej$j&dkZ#e#( Zed!e*e d" e"+  W nB ek
r Z z"ed#e  d dlZe  W 5 dZ[X Y nX ed$ dS )%    N)create_enginetext)sessionmaker)Config)load_dotenvDATABASE_URLzDatabase URL: T)ZechoF)Z
autocommitZ	autoflushbindz"
=== Test 1: Simple Connection ===zSELECT 1u   ✅ Connection successfulu   ❌ Connection failed:    z
=== Test 2: Import Models ===u    ✅ Models imported successfullyu   ❌ Failed to import models: z
=== Test 3: Create Tables ===)r   u   ✅ Tables created/verifiedu   ❌ Failed to create tables: z!
=== Test 4: Simple ORM Query ===   u
   ✅ Found z active developersu   ❌ ORM query failed: z 
=== Test 5: Test Join Query ===)funcactivity_countlast_activityu!   ✅ Join query successful, found z resultsu   ❌ Join query failed: z
=== All tests completed ===);sysospathinsertdirname__file__Z
sqlalchemyr   r   Zsqlalchemy.ormr   Zconfigr   Zdotenvr   getenvZget_database_urlr   printZengineZSessionLocalZconnectZconnZexecuteresult	ExceptioneexitZmodels	traceback	print_excZBaseZmetadataZ
create_allZdbZqueryZ	DeveloperfilterZactivelimitallZ
developerslencloser   ZActivityRecordZdeveloper_idcountidZlabelmaxZ	timestampZgroup_byZsubqueryZcoalescecr   r   Z	outerjoin r%   r%   ./test_orm_issue.py<module>   s   
$
