§
    ZøÁi  ã                   óR   — d dl mZ d dlmZ d dlmZ ddlmZ  G d„ de¦  «        ZdS )	é    )ÚRequirements)Úutil)Úsqla_compaté   )Ú
exclusionsc                   ó<  — e Zd Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
ed„ ¦   «         Zed	„ ¦   «         Zed
„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z ed„ ¦   «         Z!ed„ ¦   «         Z"ed „ ¦   «         Z#ed!„ ¦   «         Z$ed"„ ¦   «         Z%ed#„ ¦   «         Z&ed$„ ¦   «         Z'ed%„ ¦   «         Z(d&S )'ÚSuiteRequirementsc                 ó(   — t          j        ¦   «         S )zXTarget database must support external schemas, and have one
        named 'test_schema'.©r   Úopen©Úselfs    úf/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/alembic/testing/requirements.pyÚschemaszSuiteRequirements.schemas	   ó   € õ
 ŒÑ Ô Ð ó    c                 ó(   — t          j        ¦   «         S )z;target database should support 'AUTOCOMMIT' isolation level©r   Úclosedr   s    r   Úautocommit_isolationz&SuiteRequirements.autocommit_isolation   s   € õ Ô Ñ"Ô"Ð"r   c                 ó(   — t          j        ¦   «         S )zneeded for sqlalchemy compatr   r   s    r   Úmaterialized_viewsz$SuiteRequirements.materialized_views   s   € õ Ô Ñ"Ô"Ð"r   c                 ó0   — d„ }t          j        |¦  «        S )Nc                 ó°   — ddl m}  || j        ¦  «        }	 |                     d¦  «         n(# t          $ r Y dS t
          $ r Y dS t          $ r Y nw xY wdS )Nr   )ÚinspectÚxTF)Ú
sqlalchemyr   ÚdbÚget_unique_constraintsÚNotImplementedErrorÚ	TypeErrorÚ	Exception)Úconfigr   Úinsps      r   Ú doesnt_have_check_uq_constraintszXSuiteRequirements.unique_constraint_reflection.<locals>.doesnt_have_check_uq_constraints   s˜   € Ø*Ð*Ð*Ð*Ð*Ð*à�7˜6œ9Ñ%Ô%ˆDðØ×+Ò+¨CÑ0Ô0Ð0Ð0øÝ&ð ð ð Ø�t�tÝð ð ð Ø�t�tÝð ð ð Ø�ðøøøà�5s   ˜. ®
A»	AÁ	AÁA©r   Úskip_if)r   r%   s     r   Úunique_constraint_reflectionz.SuiteRequirements.unique_constraint_reflection   s%   € ð	ð 	ð 	õ Ô!Ð"BÑCÔCÐCr   c                 ó0   — t          j        d„ gd¦  «        S )z'Target database must support SEQUENCEs.c                 ó$   — | j         j        j        S ©N)r   ÚdialectÚsupports_sequences©r#   s    r   ú<lambda>z-SuiteRequirements.sequences.<locals>.<lambda>2   s   € ˜FœIÔ-Ô@€ r   zno sequence support©r   Úonly_ifr   s    r   Ú	sequenceszSuiteRequirements.sequences-   s%   € õ Ô!Ø@Ð@ÐAØ!ñ
ô 
ð 	
r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úforeign_key_matchz#SuiteRequirements.foreign_key_match6   ó   € åŒÑ Ô Ð r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Ú!foreign_key_constraint_reflectionz3SuiteRequirements.foreign_key_constraint_reflection:   r5   r   c                 ó(   — t          j        ¦   «         S )zMTarget database must support check constraints
        and also enforce them.r   r   s    r   Úcheck_constraints_w_enforcementz1SuiteRequirements.check_constraints_w_enforcement>   r   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úreflects_pk_namesz#SuiteRequirements.reflects_pk_namesE   ó   € åÔ Ñ"Ô"Ð"r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úreflects_fk_optionsz%SuiteRequirements.reflects_fk_optionsI   r<   r   c                 ó.   — t          j        d„ d¦  «        S )Nc                 ó   — t           j         S r+   )r   Úsqla_14r.   s    r   r/   z1SuiteRequirements.sqlalchemy_14.<locals>.<lambda>P   s   € �tœ|Ð+€ r   z"SQLAlchemy 1.4 or greater requiredr&   r   s    r   Úsqlalchemy_14zSuiteRequirements.sqlalchemy_14M   s    € åÔ!Ø+Ð+Ø0ñ
ô 
ð 	
r   c                 ó.   — t          j        d„ d¦  «        S )Nc                 ó   — t           j        S r+   ©r   Úsqla_2r.   s    r   r/   z1SuiteRequirements.sqlalchemy_1x.<locals>.<lambda>W   s   € �4œ;€ r   zSQLAlchemy 1.x testr&   r   s    r   Úsqlalchemy_1xzSuiteRequirements.sqlalchemy_1xT   s    € åÔ!Ø&Ð&Ø!ñ
ô 
ð 	
r   c                 ó.   — t          j        d„ d¦  «        S )Nc                 ó   — t           j         S r+   rE   r.   s    r   r/   z0SuiteRequirements.sqlalchemy_2.<locals>.<lambda>^   s
   € �tœ{˜?€ r   zSQLAlchemy 2.x testr&   r   s    r   Úsqlalchemy_2zSuiteRequirements.sqlalchemy_2[   s    € åÔ!Ø*Ð*Ø!ñ
ô 
ð 	
r   c                 ó@   — d„ }| j         t          j        |¦  «        z   S )Nc                 ó2   — 	 dd l }dS # t          $ r Y dS w xY w)Nr   TF)ÚgreenletÚImportError)r#   rM   s     r   Úgoz%SuiteRequirements.asyncio.<locals>.god   s;   € ðØ���ð �tøõ ð ð ð Ø�u�uðøøøs   ‚ ˆ
•)rB   r   r1   )r   rO   s     r   ÚasynciozSuiteRequirements.asynciob   s,   € ð	ð 	ð 	ð Ô!¥JÔ$6°rÑ$:Ô$:Ñ:Ð:r   c                 ó,   — t          j        d„ ¦  «        S )Nc                 ó$   — | j         j        j        S r+   )r   r,   Úsupports_commentsr.   s    r   r/   z,SuiteRequirements.comments.<locals>.<lambda>q   s   € ˜6œ9Ô,Ô>€ r   r0   r   s    r   ÚcommentszSuiteRequirements.commentsn   s   € åÔ!Ø>Ð>ñ
ô 
ð 	
r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úalter_columnzSuiteRequirements.alter_columnt   r5   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úcomputed_columnsz"SuiteRequirements.computed_columnsx   r<   r   c                 ób   — t          j        t          j        t          j        ¦  «        ¦  «        S r+   )r   r1   ÚBooleanPredicater   Úhas_computedr   s    r   Úcomputed_columns_apiz&SuiteRequirements.computed_columns_api|   ó(   € åÔ!ÝÔ'­Ô(@ÑAÔAñ
ô 
ð 	
r   c                 ób   — t          j        t          j        t          j        ¦  «        ¦  «        S r+   )r   r1   rZ   r   Úhas_computed_reflectionr   s    r   Úcomputed_reflects_normallyz,SuiteRequirements.computed_reflects_normally‚   s(   € åÔ!ÝÔ'­Ô(KÑLÔLñ
ô 
ð 	
r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Ú#computed_reflects_as_server_defaultz5SuiteRequirements.computed_reflects_as_server_defaultˆ   r<   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Ú)computed_doesnt_reflect_as_server_defaultz;SuiteRequirements.computed_doesnt_reflect_as_server_defaultŒ   r<   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úautoincrement_on_composite_pkz/SuiteRequirements.autoincrement_on_composite_pk�   r<   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úfk_ondelete_is_reflectedz*SuiteRequirements.fk_ondelete_is_reflected”   r<   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úfk_onupdate_is_reflectedz*SuiteRequirements.fk_onupdate_is_reflected˜   r<   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úfk_onupdatezSuiteRequirements.fk_onupdateœ   r5   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úfk_ondelete_restrictz&SuiteRequirements.fk_ondelete_restrict    r5   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úfk_onupdate_restrictz&SuiteRequirements.fk_onupdate_restrict¤   r5   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úfk_ondelete_noactionz&SuiteRequirements.fk_ondelete_noaction¨   r5   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úfk_initiallyzSuiteRequirements.fk_initially¬   r<   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úfk_deferrablezSuiteRequirements.fk_deferrable°   r<   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úfk_deferrable_is_reflectedz,SuiteRequirements.fk_deferrable_is_reflected´   r<   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úfk_nameszSuiteRequirements.fk_names¸   r5   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úinteger_subtype_comparisonsz-SuiteRequirements.integer_subtype_comparisons¼   r5   r   c                 ó,   — t          j        d„ ¦  «        S )Nc                 ó$   — | j         j        j        S r+   )r   r,   Úrequires_name_normalizer.   s    r   r/   z5SuiteRequirements.no_name_normalize.<locals>.<lambda>Ã   s   € ˜6œ9Ô,ÔD€ r   r&   r   s    r   Úno_name_normalizez#SuiteRequirements.no_name_normalizeÀ   s   € åÔ!ØDÐDñ
ô 
ð 	
r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úidentity_columnsz"SuiteRequirements.identity_columnsÆ   r<   r   c                 ó(   — t          j        ¦   «         S r+   r   r   s    r   Úidentity_columns_alterz(SuiteRequirements.identity_columns_alterÊ   r<   r   c                 ób   — t          j        t          j        t          j        ¦  «        ¦  «        S r+   )r   r1   rZ   r   Úhas_identityr   s    r   Úidentity_columns_apiz&SuiteRequirements.identity_columns_apiÎ   r]   r   N))Ú__name__Ú
__module__Ú__qualname__Úpropertyr   r   r   r(   r2   r4   r7   r9   r;   r>   rB   rG   rJ   rP   rT   rV   rX   r\   r`   rb   rd   rf   rh   rj   rl   rn   rp   rr   rt   rv   rx   rz   r|   r€   r‚   r„   r‡   © r   r   r	   r	      sü  € € € € € Øð!ð !ñ „Xð!ð ð#ð #ñ „Xð#ð
 ð#ð #ñ „Xð#ð ðDð Dñ „XðDð" ð
ð 
ñ „Xð
ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð
ð 
ñ „Xð
ð ð
ð 
ñ „Xð
ð ð
ð 
ñ „Xð
ð ð	;ð 	;ñ „Xð	;ð ð
ð 
ñ „Xð
ð
 ð!ð !ñ „Xð!ð ð#ð #ñ „Xð#ð ð
ð 
ñ „Xð
ð
 ð
ð 
ñ „Xð
ð
 ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð!ð !ñ „Xð!ð ð!ð !ñ „Xð!ð ð
ð 
ñ „Xð
ð
 ð#ð #ñ „Xð#ð ð#ð #ñ „Xð#ð ð
ð 
ñ „Xð
ð 
ð 
r   r	   N)	Úsqlalchemy.testing.requirementsr   Úalembicr   Úalembic.utilr   Útestingr   r	   rŒ   r   r   ú<module>r‘      s‹   ðØ 8Ð 8Ð 8Ð 8Ð 8Ð 8à Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø  Ð  Ð  Ð  Ð  Ð  ðJ
ð J
ð J
ð J
ð J
˜ñ J
ô J
ð J
ð J
ð J
r   