Ë
    †V.j  ã                   óJ   — 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y)	é    )Ú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(y&)'ÚSuiteRequirementsc                 ó*   — t        j                  «       S )zXTarget database must support external schemas, and have one
        named 'test_schema'.©r   Úopen©Úselfs    ú^C:\xampp\htdocs\tradingbinance\backend\.venv\Lib\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                 ó2   — d„ }t        j                  |«      S )Nc                 óž   — ddl m}  || j                  «      }	 |j                  d«       y# t        $ r Y yt
        $ r Y yt        $ r Y yw xY w)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   sX   € Ý*á˜6Ÿ9™9Ó%ˆDðØ×+Ñ+¨CÔ0ð øô 'ò ÙÜò ÙÜò ØØðús   š, ¬	A·AÁAÁA©r   Úskip_if)r   r%   s     r   Úunique_constraint_reflectionz.SuiteRequirements.unique_constraint_reflection   s   € ò	ô ×!Ñ!Ð"BÓCÐCr   c                 ó2   — t        j                  d„ gd«      S )z'Target database must support SEQUENCEs.c                 óB   — | j                   j                  j                  S ©N)r   ÚdialectÚsupports_sequences©r#   s    r   Ú<lambda>z-SuiteRequirements.sequences.<locals>.<lambda>2   s   € ˜FŸI™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                 ó0   — 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                 ó0   — 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                 ó0   — 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                 óL   — d„ }| j                   t        j                  |«      z   S )Nc                 ó,   — 	 dd l }y# t        $ r Y yw xY w)Nr   TF)ÚgreenletÚImportError)r#   rM   s     r   Úgoz%SuiteRequirements.asyncio.<locals>.god   s#   € ðÛð øô ò Ùðús   ‚ ‡	’)rB   r   r1   )r   rO   s     r   ÚasynciozSuiteRequirements.asynciob   s%   € ò	ð ×!Ñ!¤J×$6Ñ$6°rÓ$:Ñ:Ð:r   c                 ó.   — t        j                  d„ «      S )Nc                 óB   — | j                   j                  j                  S r+   )r   r,   Úsupports_commentsr.   s    r   r/   z,SuiteRequirements.comments.<locals>.<lambda>q   s   € ˜6Ÿ9™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                 ón   — t        j                  t        j                  t        j                  «      «      S r+   )r   r1   ÚBooleanPredicater   Úhas_computedr   s    r   Úcomputed_columns_apiz&SuiteRequirements.computed_columns_api|   ó)   € ä×!Ñ!Ü×'Ñ'¬×(@Ñ(@ÓAó
ð 	
r   c                 ón   — 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Ñ(KÓ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                 óB   — | j                   j                  j                  S r+   )r   r,   Úrequires_name_normalizer.   s    r   r/   z5SuiteRequirements.no_name_normalize.<locals>.<lambda>Ã   s   € ˜6Ÿ9™9×,Ñ,×DÒDr   r&   r   s    r   Úno_name_normalizez#SuiteRequirements.no_name_normalizeÀ   s   € ä×!Ñ!Ù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                 ón   — 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æ  „ Øñ!ó ð!ð ñ#ó ð#ð
 ñ#ó ð#ð ñDó ðDð" ñ
ó ð
ð ñ!ó ð!ð ñ!ó ð!ð ñ!ó ð!ð ñ#ó ð#ð ñ#ó ð#ð ñ
ó ð
ð ñ
ó ð
ð ñ
ó ð
ð ñ	;ó ð	;ð ñ
ó ð
ð
 ñ!ó ð!ð ñ#ó ð#ð ñ
ó ð
ð
 ñ
ó ð
ð
 ñ#ó ð#ð ñ#ó ð#ð ñ#ó ð#ð ñ#ó ð#ð ñ#ó ð#ð ñ!ó ð!ð ñ!ó ð!ð ñ!ó ð!ð ñ!ó ð!ð ñ#ó ð#ð ñ#ó ð#ð ñ#ó ð#ð ñ!ó ð!ð ñ!ó ð!ð ñ
ó ð
ð
 ñ#ó ð#ð ñ#ó ð#ð ñ
ó ñ
r   r	   N)	Úsqlalchemy.testing.requirementsr   Úalembicr   Úalembic.utilr   Útestingr   r	   rŒ   r   r   Ú<module>r‘      s   ðÝ 8å Ý $Ý  ôJ
˜õ J
r   