ó
    úÞ j¢€  ã                   óÜ   • S SK Jr  S SK Jr  S SK Jr  S SK Jr  S SK Jr  S SK Jr  SSKJr  S	S
K	J
r
  S	SK	Jr  S	SK	Jr  S	SK	Jr  S	SK	Jr   " S S\\5      r " S S\\5      r " S S\\5      rg)é    )ÚColumn)ÚForeignKeyConstraint)ÚInteger)ÚMetaData)ÚString)ÚTableé   )ÚAutogenFixtureTesté   )Úcombinations)Úconfig©Úeq_)Úmock)ÚTestBasec                   ó¶   • \ rS rSrSrSrS rS rS rS r	\
R                  R                  S 5       rS	 r\
R                  R                  S
 5       rS rS rSrg)ÚAutogenerateForeignKeysTesté   T)Ú!foreign_key_constraint_reflectionc                 óh  • [        5       n[        5       n[        SU[        S[        S5      SS95        [        SU[        S[        SS9[        S[        S	5      S
S9[        S[        S5      SS9[        S[        S5      5      [        S/S/5      5        [        SU[        S[        S5      SS95        [        SU[        S[        SS9[        S[        S	5      S
S9[        S[        S5      SS9[        S[        S5      5      5        U R                  X5      nU R                  US   SSS/SS/SS9  g )NÚ
some_tableÚtesté
   T©Úprimary_keyÚuserÚidÚnameé2   F©ÚnullableÚa1Úx©Úserver_defaultÚtest2úsome_table.testr   Ú	remove_fkÚservergenerated©Úconditional_name©r   r   r   r   r   r   Ú_fixtureÚ_assert_fk_diff©ÚselfÚm1Úm2Údiffss       Ú`/var/www/html/gaurav/venv/lib/python3.13/site-packages/alembic/testing/suite/test_autogen_fks.pyÚtest_remove_fkÚ*AutogenerateForeignKeysTest.test_remove_fk   s2  € Ü‹ZˆÜ‹ZˆäØØÜ�6œ6 "›:°4Ñ8ô	
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�7œF 2›JÓ'Ü  ' Ð->Ð,?Ó@ô	
ô 	ØØÜ�6œ6 "›:°4Ñ8ô	
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�7œF 2›JÓ'ô	
ð —‘˜bÓ%ˆà×ÑØ�!‰HØØØˆIØØˆHØ.ð 	ò 	
ó    c                 ó¦  • [        5       n[        5       n[        SU[        S[        SS9[        S[	        S5      5      5        [        SU[        S[        SS9[        S[	        S	5      S
S9[        S[	        S5      SS9[        S[	        S5      5      5        [        SU[        S[        SS9[        S[	        S5      5      5        [        SU[        S[        SS9[        S[	        S	5      S
S9[        S[	        S5      SS9[        S[	        S5      5      [        S/S/5      5        U R                  X5      nU R                  US   SSS/SS/5        g )Nr   r   Tr   r   r   r   r   r   Fr    r"   r#   r$   r&   r'   r   Úadd_fk)r   r   r   r   r   r   r-   r.   r/   s       r4   Útest_add_fkÚ'AutogenerateForeignKeysTest.test_add_fkC   s9  € Ü‹ZˆÜ‹ZˆäØØÜ�4œ¨dÑ3Ü�6œ6 "›:Ó&ô		
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�7œF 2›JÓ'ô	
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:Ó&ô		
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�7œF 2›JÓ'Ü  ' Ð->Ð,?Ó@ô	
ð —‘˜bÓ%ˆà×ÑØ�!‰H�h ¨¨	°<À&Àõ	
r7   c                 óŽ  • [        5       n[        5       n[        SU[        S[        SS9[        S[	        S5      5      5        [        SU[        S[        SS9[        S[	        S	5      S
S9[        S[	        S5      SS9[        S[        5      [        S/S/5      5        [        SU[        S[        SS9[        S[	        S5      5      5        [        SU[        S[        SS9[        S[	        S	5      S
S9[        S[	        S5      SS9[        S[        5      [        S/S/5      5        U R                  X5      n[        U/ 5        g )Nr   r   Tr   r   r   r   r   r   Fr    r"   r#   r$   r&   úsome_table.id)r   r   r   r   r   r   r-   r   r/   s       r4   Útest_no_changeÚ*AutogenerateForeignKeysTest.test_no_changen   s%  € Ü‹ZˆÜ‹ZˆäØØÜ�4œ¨dÑ3Ü�6œ6 "›:Ó&ô		
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�7œGÓ$Ü  ' ¨_Ð,=Ó>ô	
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:Ó&ô		
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�7œGÓ$Ü  ' ¨_Ð,=Ó>ô	
ð —‘˜bÓ%ˆäˆE�2�r7   c                 ó
  • [        5       n[        5       n[        SU[        S[        S5      SS9[        S[        S5      SS95        [        SU[        S[        SS9[        S	[        S
5      SS9[        S[        S5      SS9[        S[        S5      5      [        S[        S5      5      [        SS/SS/5      5        [        SU[        S[        S5      SS9[        S[        S5      SS95        [        SU[        S[        SS9[        S	[        S
5      SS9[        S[        S5      SS9[        S[        S5      5      [        S[        S5      5      [        SS/SS/5      5        U R                  X5      n[        U/ 5        g )Nr   Úid_1r   Tr   Úid_2r   r   r   r   Fr    r"   r#   r$   Ú
other_id_1Ú
other_id_2úsome_table.id_1úsome_table.id_2©r   r   r   r   r   r   r-   r   r/   s       r4   Útest_no_change_composite_fkÚ7AutogenerateForeignKeysTest.test_no_change_composite_fk˜   si  € Ü‹ZˆÜ‹ZˆäØØÜ�6œ6 "›:°4Ñ8Ü�6œ6 "›:°4Ñ8ô		
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�<¤¨£Ó,Ü�<¤¨£Ó,Ü Ø˜|Ð,Ø"Ð$5Ð6óô	
ô 	ØØÜ�6œ6 "›:°4Ñ8Ü�6œ6 "›:°4Ñ8ô		
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�<¤¨£Ó,Ü�<¤¨£Ó,Ü Ø˜|Ð,Ø"Ð$5Ð6óô	
ð —‘˜bÓ%ˆäˆE�2�r7   c                 ó²  • [        5       n[        5       n[        SU[        S[        S5      SS95        [        SU[        S[        SS9[        S[        S	5      S
S9[        S[        S5      SS9[        S[        S5      5      [        S/S/SS95        [        SU[        S[        S5      SS95        [        SU[        S[        SS9[        S[        S	5      S
S9[        S[        S5      SS9[        S[        S5      5      [        S/S/SS95        U R                  X5      nU R                  US   SSS/SS/SS9  U R                  US   SSS/SS/SS9  g )Nr   r   r   Tr   r   r   r   r   Fr    r"   r#   r$   r&   r'   ÚMyFK©r   Úmyfkr   r(   r	   r9   r,   r/   s       r4   Ú1test_casing_convention_changed_so_put_drops_firstÚMAutogenerateForeignKeysTest.test_casing_convention_changed_so_put_drops_firstÊ   sx  € ä‹ZˆÜ‹ZˆäØØÜ�6œ6 "›:°4Ñ8ô	
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�7œF 2›JÓ'Ü  ' Ð->Ð,?ÀfÑMô	
ô 	ØØÜ�6œ6 "›:°4Ñ8ô	
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�7œF 2›JÓ'Ü  $ Ð*;Ð)<À6ÑJô	
ð —‘˜bÓ%ˆà×ÑØ�!‰HØØØˆIØØˆHØð 	ñ 	
ð 	×ÑØ�!‰HØØØˆFØØˆHØð 	ò 	
r7   c                 ó
  • [        5       n[        5       n[        SU[        S[        S5      SS9[        S[        S5      SS95        [        SU[        S[        SS9[        S	[        S
5      SS9[        S[        S5      SS9[        S[        S5      5      [        S[        S5      5      5        [        SU[        S[        S5      SS9[        S[        S5      SS95        [        SU[        S[        SS9[        S	[        S
5      SS9[        S[        S5      SS9[        S[        S5      5      [        S[        S5      5      [        SS/SS/SS95        U R                  X5      nU R                  US   SSSS/SSS/SS9  g )Nr   rA   r   Tr   rB   r   r   r   r   Fr    r"   r#   r$   rC   rD   rE   rF   Úfk_test_namerL   r   r9   r,   r/   s       r4   Útest_add_composite_fk_with_nameÚ;AutogenerateForeignKeysTest.test_add_composite_fk_with_name  s€  € Ü‹ZˆÜ‹ZˆäØØÜ�6œ6 "›:°4Ñ8Ü�6œ6 "›:°4Ñ8ô		
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�<¤¨£Ó,Ü�<¤¨£Ó,ô	
ô 	ØØÜ�6œ6 "›:°4Ñ8Ü�6œ6 "›:°4Ñ8ô		
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�<¤¨£Ó,Ü�<¤¨£Ó,Ü Ø˜|Ð,Ø"Ð$5Ð6Ø#ñô	
ð —‘˜bÓ%ˆØ×ÑØ�!‰HØØØ˜<Ð(ØØ�VÐØð 	ò 	
r7   c                 ó
  • [        5       n[        5       n[        SU[        S[        S5      SS9[        S[        S5      SS95        [        SU[        S[        SS9[        S	[        S
5      SS9[        S[        S5      SS9[        S[        S5      5      [        S[        S5      5      [        SS/SS/SS95        [        SU[        S[        S5      SS9[        S[        S5      SS95        [        SU[        S[        SS9[        S	[        S
5      SS9[        S[        S5      SS9[        S[        S5      5      [        S[        S5      5      5        U R                  X5      nU R                  US   SSSS/SSS/SS9  g )Nr   rA   r   Tr   rB   r   r   r   r   Fr    r"   r#   r$   rC   rD   rE   rF   rQ   rL   r   r(   r*   r,   r/   s       r4   Útest_remove_composite_fkÚ4AutogenerateForeignKeysTest.test_remove_composite_fk>  s€  € ä‹ZˆÜ‹ZˆäØØÜ�6œ6 "›:°4Ñ8Ü�6œ6 "›:°4Ñ8ô		
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�<¤¨£Ó,Ü�<¤¨£Ó,Ü Ø˜|Ð,Ø"Ð$5Ð6Ø#ñô	
ô 	ØØÜ�6œ6 "›:°4Ñ8Ü�6œ6 "›:°4Ñ8ô		
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�4œ ›°CÑ8Ü�<¤¨£Ó,Ü�<¤¨£Ó,ô	
ð —‘˜bÓ%ˆà×ÑØ�!‰HØØØ˜<Ð(ØØ�VÐØ+ð 	ò 	
r7   c                 ór  • [        5       n[        5       n[        SU[        S[        S5      SS9[        S[        S5      SS95        [        SU[        S[        SS9[        S	[        S5      5      [        S
[        S5      5      5        [        SU[        S[        S5      SSS9[        S[        S5      SSS95        [        SU[        S[        SS9[        S	[        S5      SS9[        S
[        S5      SS9[        SS/SS/SS95        U R                  X5      nU R                  US   SSS	S
/SSS/SS9  g )Nr   rA   r   Tr   rB   r   r   rC   rD   Útid1©Úkeyr   Útid2Úoid1©rZ   Úoid2úsome_table.tid1úsome_table.tid2rQ   rL   r   r9   r,   r/   s       r4   Útest_add_fk_colkeysÚ/AutogenerateForeignKeysTest.test_add_fk_colkeysv  sH  € Ü‹ZˆÜ‹ZˆäØØÜ�6œ6 "›:°4Ñ8Ü�6œ6 "›:°4Ñ8ô		
ô 	ØØÜ�4œ¨dÑ3Ü�<¤¨£Ó,Ü�<¤¨£Ó,ô	
ô 	ØØÜ�6œ6 "›:¨6¸tÑDÜ�6œ6 "›:¨6¸tÑDô		
ô 	ØØÜ�4œ¨dÑ3Ü�<¤¨£°Ñ8Ü�<¤¨£°Ñ8Ü Ø˜Ð Ø"Ð$5Ð6Ø#ñô	
ð —‘˜bÓ%ˆà×ÑØ�!‰HØØØ˜<Ð(ØØ�VÐØð 	ò 	
r7   c                 ór  • [        5       n[        5       n[        SU[        S[        S5      SS9[        S[        S5      SS95        [        SU[        S[        SS9[        S	[        S5      5      [        S
[        S5      5      [        S	S
/SS/5      5        [        SU[        S[        S5      SSS9[        S[        S5      SSS95        [        SU[        S[        SS9[        S	[        S5      SS9[        S
[        S5      SS9[        SS/SS/5      5        U R                  X5      n[        U/ 5        g )Nr   rA   r   Tr   rB   r   r   rC   rD   rE   rF   rX   rY   r[   r\   r]   r^   r_   r`   rG   r/   s       r4   Útest_no_change_colkeysÚ2AutogenerateForeignKeysTest.test_no_change_colkeys©  s1  € Ü‹ZˆÜ‹ZˆäØØÜ�6œ6 "›:°4Ñ8Ü�6œ6 "›:°4Ñ8ô		
ô 	ØØÜ�4œ¨dÑ3Ü�<¤¨£Ó,Ü�<¤¨£Ó,Ü Ø˜|Ð,Ø"Ð$5Ð6óô
	
ô 	ØØÜ�6œ6 "›:¨6¸tÑDÜ�6œ6 "›:¨6¸tÑDô		
ô 	ØØÜ�4œ¨dÑ3Ü�<¤¨£°Ñ8Ü�<¤¨£°Ñ8Ü Ø˜Ð Ð#4Ð6GÐ"Hóô		
ð —‘˜bÓ%ˆäˆE�2�r7   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__backend__Ú__requires__r5   r:   r>   rH   r   ÚrequirementsÚforeign_key_name_reflectionrN   rR   Úno_name_normalizerU   ra   rd   Ú__static_attributes__rf   r7   r4   r   r      sw   † Ø€KØ9€Lò-
ò^)
òV(òT0ðd ×Ñ×4Ñ4ñ;
ó 5ð;
òz4
ðl ×Ñ×*Ñ*ñ5
ó +ð5
òn1
õf+r7   r   c                   óÂ   • \ rS rSrSrSr\" SS5      \R                  R                  S 5       5       r
S r\" SS5      \R                  R                  S 5       5       rS	rg
)ÚIncludeHooksTesti×  T)Úfk_names)ÚobjectrL   c           
      ó  • [        5       n[        5       n[        SU[        S[        SS95      n[        SU[        S[        5      [        S[        5      5      nUR	                  [        UR                  R                  /UR                  R                  /SS	95        UR	                  [        UR                  R                  /UR                  R                  /S
S	95        [        SU[        S[        SS95      n[        SU[        S[        5      [        S[        5      5        US:X  a  S nU R                  X#US9nOUS:X  a  S nU R                  X#US9nU R                  WS   SSS/SS/S
S9  [        [        U5      S5        g )NÚrefr   Tr   Útr#   ÚyÚfk1rL   Úfk2rt   c                 ón   • [        U [        5      =(       a    US:H  =(       a    U=(       a    US:H  (       + $ ©NÚforeign_key_constraintry   ©Ú
isinstancer   ©Úobject_r   Útype_Ú	reflectedÚ
compare_tos        r4   Úinclude_objectÚBIncludeHooksTest.test_remove_connection_fk.<locals>.include_object  s;   € ä˜wÔ(<Ó=÷ &ØÐ!9Ñ9÷&à!÷&ð  ™ô	ð r7   ©Úobject_filtersr   c                 óX   • U S:X  a$  US:X  a  g[        US5        [        US SSS.5        gg)Nry   ÚindexTr}   rw   ©Úschema_nameÚ
table_nameÚschema_qualified_table_nameFr   ©r   r‚   Úparent_namess      r4   Úinclude_nameÚ@IncludeHooksTest.test_remove_connection_fk.<locals>.include_name  s@   € Ø˜5“=Ø Ó'Ø#Ü˜Ð7Ô8ÜØ$à+/Ø*-Ø;>ñôð !àr7   ©Úname_filtersr   r(   r*   r	   ©r   r   r   r   Úappend_constraintr   Úcr#   r   rx   r-   r.   r   Úlen)	r0   Ú	hook_typer1   r2   rv   Út1r…   r3   r‘   s	            r4   Útest_remove_connection_fkÚ*IncludeHooksTest.test_remove_connection_fkÛ  sz  € ô ‹ZˆÜ‹ZˆäØØÜ�4œ¨dÑ3ó
ˆô
 ØØÜ�3œÓ Ü�3œÓ ó	
ˆð 	×ÑÜ  "§$¡$§&¡& ¨C¯E©E¯H©H¨:¸EÑBô	
ð 	×ÑÜ  "§$¡$§&¡& ¨C¯E©E¯H©H¨:¸EÑBô	
ô ØØÜ�4œ¨dÑ3ó
ˆô
 	ØØÜ�3œÓ Ü�3œÓ ô		
ð ˜Ó òð —M‘M "¸�MÐH‰EØ˜&Ó ò ð" —M‘M "°|�MÐDˆEà×ÑØ�!‰HØØØˆEØØˆFØ"ð 	ñ 	
ô 	ŒC�‹J˜Õr7   c           
      óÐ  • [        5       n[        5       n[        SU[        S[        SS95        [        SU[        S[        5      [        S[        5      5        [        SU[        S[        SS95      n[        SU[        S[        5      [        S[        5      5      nUR	                  [        UR                  R                  /UR                  R                  /SS	95        UR	                  [        UR                  R                  /UR                  R                  /S
S	95        S nU R                  XUS9nU R                  US   SSS/SS/S
S	9  [        [        U5      S5        g )Nrv   r   Tr   rw   r#   rx   ry   rL   rz   c                 óx   • [        U [        5      =(       a    US:H  =(       a    U(       + =(       a    US:H  (       + $ r|   r~   r€   s        r4   r…   Ú=IncludeHooksTest.test_add_metadata_fk.<locals>.include_objectL  s=   € ä˜7Ô$8Ó9÷ "ØÐ5Ñ5÷"à!”M÷"ð ˜E‘Mô	ð r7   r‡   r   r9   r	   r•   )r0   r1   r2   rv   Út2r…   r3   s          r4   Útest_add_metadata_fkÚ%IncludeHooksTest.test_add_metadata_fk*  sE  € Ü‹ZˆÜ‹ZˆäØØÜ�4œ¨dÑ3ô	
ô
 	ØØÜ�3œÓ Ü�3œÓ ô		
ô ØØÜ�4œ¨dÑ3ó
ˆô
 ØØÜ�3œÓ Ü�3œÓ ó	
ˆð 	×ÑÜ  "§$¡$§&¡& ¨C¯E©E¯H©H¨:¸EÑBô	
ð 	×ÑÜ  "§$¡$§&¡& ¨C¯E©E¯H©H¨:¸EÑBô	
ò	ð —‘˜b°^�ÐDˆà×ÑØ�!‰H�h  c U¨E°D°6Àð 	ñ 	
ô 	ŒC�‹J˜Õr7   c                 ó`  • [        5       n[        5       n[        SU[        S[        SS95      n[        SU[        S[        SS9[        S[        SS95        [        SU[        S[        5      [        S	[        5      [        S
[        5      5      nUR	                  [        UR                  R                  /UR                  R                  /SS95        UR	                  [        UR                  R                  /UR                  R                  /SS95        [        SU[        S[        SS95        [        SU[        S[        SS9[        S[        SS95      n[        SU[        S[        5      [        S	[        5      [        S
[        5      5      nUR	                  [        UR                  R                  UR                  R                  /UR                  R                  UR                  R                  /SS95        UR	                  [        UR                  R                  UR                  R                  /UR                  R                  UR                  R                  /SS95        US:X  a  S nU R                  X#US9n	OUS:X  a  S n
U R                  X#U
S9n	US:X  aL  U R                  W	S   SSS	/SS/SS9  U R                  U	S   SSS	S
/SSS/SS9  [        [        U	5      S5        g US:X  a0  [        W	 Vs1 sH  o»S   US   R                   4iM     sn1 Sk5        g g s  snf )NÚref_aÚaTr   Úref_bÚbrw   r#   rx   Úzry   rL   rz   rt   c                 ó\   • [        U [        5      =(       a    US:H  =(       a    US:H  (       + $ r|   r~   r€   s        r4   r…   Ú7IncludeHooksTest.test_change_fk.<locals>.include_object™  s1   € ä˜wÔ(<Ó=÷ &ØÐ!9Ñ9÷&à ™ôð r7   r‡   r   c                 óX   • US:X  a  gU S:X  a  [        US5        [        US SSS.5        gg)NrŠ   Try   r}   rw   r‹   Fr   r�   s      r4   r‘   Ú5IncludeHooksTest.test_change_fk.<locals>.include_name£  s@   € Ø˜GÓ#Øà˜5“=Ü˜Ð7Ô8ÜØ$à+/Ø*-Ø;>ñôð !àr7   r“   r   r(   r	   r9   é   >   ©r9   ry   ©r9   rz   ©r(   rz   )r   r   r   r   r–   r   r—   r#   r¥   rx   r¨   r§   r-   r.   r   r˜   r   )r0   r™   r1   r2   Úr1arš   Úr2br    r…   r3   r‘   Úds               r4   Útest_change_fkÚIncludeHooksTest.test_change_fk[  sæ  € ô ‹ZˆÜ‹ZˆäØØÜ�3œ¨TÑ2ó
ˆô
 	ØØÜ�3œ¨TÑ2Ü�3œ¨TÑ2ô		
ô ØØÜ�3œÓ Ü�3œÓ Ü�3œÓ ó
ˆð 	×ÑÜ  "§$¡$§&¡& ¨C¯E©E¯G©G¨9¸5ÑAô	
ð 	×ÑÜ  "§$¡$§&¡& ¨C¯E©E¯G©G¨9¸5ÑAô	
ô 	ØØÜ�3œ¨TÑ2ô	
ô
 ØØÜ�3œ¨TÑ2Ü�3œ¨TÑ2ó	
ˆô ØØÜ�3œÓ Ü�3œÓ Ü�3œÓ ó
ˆð 	×ÑÜ Ø—‘—‘˜Ÿ™Ÿ™Ð  3§5¡5§7¡7¨C¯E©E¯G©GÐ"4¸5ñô	
ð
 	×ÑÜ Ø—‘—‘˜Ÿ™Ÿ™Ð  3§5¡5§7¡7¨C¯E©E¯G©GÐ"4¸5ñô	
ð ˜Ó òð —M‘M "¸�MÐH‰EØ˜&Ó ò ð$ —M‘M "°|�MÐDˆEà˜Ó Ø× Ñ Ø�a‘˜+ s¨S¨E°7¸S¸EÈð !ñ ð × Ñ Ø�a‘ØØØ�c�
ØØ�c�
Øð !ñ ô ”�E“
˜AÕØ˜&Ó ÜÙ,1Ó2©E q�A‘$˜˜!™Ÿ	™	Ó"©EÑ2ÚLõð !ùâ2s   ÌL+rf   N)rg   rh   ri   rj   rk   rl   r   r   rm   ro   r›   r¡   r´   rp   rf   r7   r4   rr   rr   ×  ss   † Ø€KØ €Lá�+˜yÓ)Ø×Ñ×*Ñ*ñKó +ó *ðKòZ/ñb �+˜yÓ)Ø×Ñ×*Ñ*ñló +ó *ólr7   rr   c                   óè  • \ rS rSrSrS r\R                  R                  S 5       r	\R                  R                  S 5       r
S r\R                  R                  S 5       r\R                  R                  S 5       r\R                  R                  S	 5       r\R                  R"                  S
 5       r\R                  R&                  S 5       r\R                  R*                  S 5       r\R                  R                  S 5       r\R                  R"                  S 5       r\R                  R"                  S 5       r\R                  R                  \R                  R                  S 5       5       r\R                  R6                  S 5       r\R                  R6                  S 5       r\R                  R<                  \R                  R6                  S 5       5       r\R                  R<                  \R                  R6                  S 5       5       r \R                  R6                  \R                  R<                  S 5       5       r!\R                  R6                  \R                  R<                  S 5       5       r"\R                  R6                  \R                  R<                  S 5       5       r#\R                  R<                  S 5       r$\R                  RJ                  S 5       r&Sr'g)ÚAutogenerateFKOptionsTestiÌ  Tc                 ó,  • [        5       n[        5       n[        SU[        S[        SS9[        S[	        S5      5      5        [        SU[        S[        SS9[        S[	        S	5      S
S9[        S[        5      [        S/S/40 UD65        [        SU[        S[        SS9[        S[	        S5      5      5        [        SU[        S[        SS9[        S[	        S	5      S
S9[        S[        5      [        S/S/40 UD65        U R                  X45      $ )Nr   r   Tr   r   r   r   r   r   Fr    Útidr=   )r   r   r   r   r   r   r-   )r0   Úold_optsÚnew_optsr1   r2   s        r4   Ú_fk_opts_fixtureÚ*AutogenerateFKOptionsTest._fk_opts_fixtureÏ  s  € Ü‹ZˆÜ‹ZˆäØØÜ�4œ¨dÑ3Ü�6œ6 "›:Ó&ô		
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�5œ'Ó"Ü  % ¨?Ð*;ÑH¸xÑHô	
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:Ó&ô		
ô 	ØØÜ�4œ¨dÑ3Ü�6œ6 "›:°Ñ6Ü�5œ'Ó"Ü  % ¨?Ð*;ÑH¸xÑHô	
ð �}‰}˜RÓ$Ð$r7   c                 ó–   • U R                  0 SS05      nU R                  US   SSS/SS/S S	S
9  U R                  US   SSS/SS/SS9  g )NÚondeleteÚcascader   r(   r   r¹   r   r   r)   ©r¿   r+   r	   r9   ©r¿   ©r¼   r.   ©r0   r3   s     r4   Útest_add_ondeleteÚ+AutogenerateFKOptionsTest.test_add_ondeleteõ  ó~   € à×%Ñ% b¨:°yÐ*AÓBˆà×ÑØ�!‰HØØØˆGØØˆFØØ.ð 	ñ 		
ð 	×ÑØ�!‰HØØØˆGØØˆFØð 	ò 	
r7   c                 ó–   • U R                  SS00 5      nU R                  US   SSS/SS/SS	S
9  U R                  US   SSS/SS/S S9  g )Nr¿   ÚCASCADEr   r(   r   r¹   r   r   r)   rÁ   r	   r9   rÂ   rÃ   rÄ   s     r4   Útest_remove_ondeleteÚ.AutogenerateFKOptionsTest.test_remove_ondelete  ó~   € à×%Ñ% z°9Ð&=¸rÓBˆà×ÑØ�!‰HØØØˆGØØˆFØØ.ð 	ñ 		
ð 	×ÑØ�!‰HØØØˆGØØˆFØð 	ò 	
r7   c                 óH   • U R                  SS0SS05      n[        U/ 5        g)útest case sensitivityr¿   ÚcaSCAdeÚCasCadeN©r¼   r   rÄ   s     r4   Útest_nochange_ondeleteÚ0AutogenerateFKOptionsTest.test_nochange_ondelete'  s,   € à×%Ñ%Ø˜Ð# j°)Ð%<ó
ˆô 	ˆE�2�r7   c                 ó–   • U R                  0 SS05      nU R                  US   SSS/SS/S S	S
9  U R                  US   SSS/SS/SS9  g )NÚonupdaterÀ   r   r(   r   r¹   r   r   r)   ©rÕ   r+   r	   r9   ©rÕ   rÃ   rÄ   s     r4   Útest_add_onupdateÚ+AutogenerateFKOptionsTest.test_add_onupdate.  rÇ   r7   c                 ó–   • U R                  SS00 5      nU R                  US   SSS/SS/SS	S
9  U R                  US   SSS/SS/S S9  g )NrÕ   rÉ   r   r(   r   r¹   r   r   r)   rÖ   r	   r9   r×   rÃ   rÄ   s     r4   Útest_remove_onupdateÚ.AutogenerateFKOptionsTest.test_remove_onupdateG  rÌ   r7   c                 óH   • U R                  SS0SS05      n[        U/ 5        g)rÎ   rÕ   rÏ   rÐ   NrÑ   rÄ   s     r4   Útest_nochange_onupdateÚ0AutogenerateFKOptionsTest.test_nochange_onupdate`  s.   € ð ×%Ñ%Ø˜Ð# j°)Ð%<ó
ˆô 	ˆE�2�r7   c                 óH   • U R                  SS0SS05      n[        U/ 5        g)ú6test the RESTRICT option which MySQL doesn't report onr¿   ÚrestrictNrÑ   rÄ   s     r4   Útest_nochange_ondelete_restrictÚ9AutogenerateFKOptionsTest.test_nochange_ondelete_restricth  ó.   € ð ×%Ñ%Ø˜Ð$ z°:Ð&>ó
ˆô 	ˆE�2�r7   c                 óH   • U R                  SS0SS05      n[        U/ 5        g)rá   rÕ   râ   NrÑ   rÄ   s     r4   Útest_nochange_onupdate_restrictÚ9AutogenerateFKOptionsTest.test_nochange_onupdate_restrictq  rå   r7   c                 óH   • U R                  SS0SS05      n[        U/ 5        g)ú<test the NO ACTION option which generally comes back as Noner¿   ú	no actionNrÑ   rÄ   s     r4   Útest_nochange_ondelete_noactionÚ9AutogenerateFKOptionsTest.test_nochange_ondelete_noactionz  ó.   € ð ×%Ñ%Ø˜Ð%¨
°KÐ'@ó
ˆô 	ˆE�2�r7   c                 óH   • U R                  SS0SS05      n[        U/ 5        g)rê   rÕ   rë   NrÑ   rÄ   s     r4   Útest_nochange_onupdate_noactionÚ9AutogenerateFKOptionsTest.test_nochange_onupdate_noactionƒ  rî   r7   c                 óº   • U R                  SS0SS05      nU R                  US   SSS/SS	/S
[        R                  SS9	  U R                  US   SSS/SS	/S
SS9  g
)rá   r¿   râ   rÀ   r   r(   r   r¹   r   r   Nr)   ©rÕ   r¿   r+   r	   r9   ©rÕ   r¿   ©r¼   r.   r   ÚANYrÄ   s     r4   Ú"test_change_ondelete_from_restrictÚ<AutogenerateFKOptionsTest.test_change_ondelete_from_restrictŒ  s”   € ð ×%Ñ%Ø˜Ð$ z°9Ð&=ó
ˆð 	×ÑØ�!‰HØØØˆGØØˆFØÜ—X‘XØ.ð 	ñ 
	
ð 	×ÑØ�!‰HØØØˆGØØˆFØØð 	ò 		
r7   c                 óº   • U R                  SS0SS05      nU R                  US   SSS/SS	/[        R                  S
SS9	  U R                  US   SSS/SS	/SS
S9  g
)rá   rÕ   râ   rÀ   r   r(   r   r¹   r   r   Nr)   ró   r	   r9   rô   rõ   rÄ   s     r4   Ú"test_change_onupdate_from_restrictÚ<AutogenerateFKOptionsTest.test_change_onupdate_from_restrict¬  s”   € ð ×%Ñ%Ø˜Ð$ z°9Ð&=ó
ˆð 	×ÑØ�!‰HØØØˆGØØˆFÜ—X‘XØØ.ð 	ñ 
	
ð 	×ÑØ�!‰HØØØˆGØØˆFØØð 	ò 		
r7   c                 ó¢   • U R                  SSS.SSS.5      nU R                  US   SSS/S	S
/SSSS9	  U R                  US   SSS/S	S
/SSS9  g )NrÉ   zSET NULLrô   ÚRESTRICTr   r(   r   r¹   r   r   r)   ró   r	   r9   rÃ   rÄ   s     r4   Útest_ondelete_onupdate_comboÚ6AutogenerateFKOptionsTest.test_ondelete_onupdate_comboÌ  s‘   € ð ×%Ñ%Ø"°
Ñ;Ø#°Ñ<ó
ˆð
 	×ÑØ�!‰HØØØˆGØØˆFØØØ.ð 	ñ 
	
ð 	×ÑØ�!‰HØØØˆGØØˆFØØð 	ò 		
r7   c                 ó–   • U R                  0 SS05      nU R                  US   SSS/SS/S S	S
9  U R                  US   SSS/SS/SS9  g )NÚ	initiallyÚdeferredr   r(   r   r¹   r   r   r)   ©r  r+   r	   r9   ©r  rÃ   rÄ   s     r4   Útest_add_initially_deferredÚ5AutogenerateFKOptionsTest.test_add_initially_deferredë  s~   € à×%Ñ% b¨;¸
Ð*CÓDˆà×ÑØ�!‰HØØØˆGØØˆFØØ.ð 	ñ 		
ð 	×ÑØ�!‰HØØØˆGØØˆFØ ð 	ò 	
r7   c                 ó˜   • U R                  SS00 5      nU R                  US   SSS/SS/S	S
SS9	  U R                  US   SSS/SS/S S9  g )Nr  r  r   r(   r   r¹   r   r   ÚDEFERREDTr)   ©r  Ú
deferrabler+   r	   r9   r  rÃ   rÄ   s     r4   Útest_remove_initially_deferredÚ8AutogenerateFKOptionsTest.test_remove_initially_deferred  s�   € à×%Ñ% {°JÐ&?ÀÓDˆà×ÑØ�!‰HØØØˆGØØˆFØ ØØ.ð 	ñ 
	
ð 	×ÑØ�!‰HØØØˆGØØˆFØð 	ò 	
r7   c                 óš   • U R                  0 SSS.5      nU R                  US   SSS/SS	/S S
S9  U R                  US   SSS/SS	/SSS9  g )NÚ	immediateT©r  r
  r   r(   r   r¹   r   r   r)   r  r	   r9   rÃ   rÄ   s     r4   Ú,test_add_initially_immediate_plus_deferrableÚFAutogenerateFKOptionsTest.test_add_initially_immediate_plus_deferrable  sˆ   € ð ×%Ñ%Ø˜k¸Ñ>ó
ˆð 	×ÑØ�!‰HØØØˆGØØˆFØØ.ð 	ñ 		
ð 	×ÑØ�!‰HØØØˆGØØˆFØ!Øð 	ò 		
r7   c                 óœ   • U R                  SSS.0 5      nU R                  US   SSS/SS	/S SS
S9	  U R                  US   SSS/SS	/S S S9  g )Nr  Tr  r   r(   r   r¹   r   r   r)   r	  r	   r9   rÃ   rÄ   s     r4   Ú/test_remove_initially_immediate_plus_deferrableÚIAutogenerateFKOptionsTest.test_remove_initially_immediate_plus_deferrable;  s‹   € ð ×%Ñ%Ø%°TÑ:¸Bó
ˆð 	×ÑØ�!‰HØØØˆGØØˆFØØØ.ð 	ñ 
	
ð 	×ÑØ�!‰HØØØˆGØØˆFØØð 	ò 		
r7   c                 óL   • U R                  SSS.SSS.5      n[        U/ 5        g )NTr  ©r
  r  rÑ   rÄ   s     r4   Ú*test_add_initially_deferrable_nochange_oneÚDAutogenerateFKOptionsTest.test_add_initially_deferrable_nochange_oneY  s/   € ð ×%Ñ%Ø¨kÑ:Ø¨kÑ:ó
ˆô
 	ˆE�2�r7   c                 óL   • U R                  SSS.SSS.5      n[        U/ 5        g )NTr  r  rÑ   rÄ   s     r4   Ú*test_add_initially_deferrable_nochange_twoÚDAutogenerateFKOptionsTest.test_add_initially_deferrable_nochange_twoc  ó/   € ð ×%Ñ%Ø¨jÑ9Ø¨jÑ9ó
ˆô
 	ˆE�2�r7   c                 óL   • U R                  S SS.S SS.5      n[        U/ 5        g )Nr  r  rÑ   rÄ   s     r4   Ú,test_add_initially_deferrable_nochange_threeÚFAutogenerateFKOptionsTest.test_add_initially_deferrable_nochange_threem  r  r7   c                 ó–   • U R                  0 SS05      nU R                  US   SSS/SS/S S	S
9  U R                  US   SSS/SS/SS9  g ©Nr
  Tr   r(   r   r¹   r   r   r)   )r
  r+   r	   r9   )r
  rÃ   rÄ   s     r4   Útest_add_deferrableÚ-AutogenerateFKOptionsTest.test_add_deferrablew  s~   € à×%Ñ% b¨<¸Ð*>Ó?ˆà×ÑØ�!‰HØØØˆGØØˆFØØ.ð 	ñ 		
ð 	×ÑØ�!‰HØØØˆGØØˆFØð 	ò 	
r7   c                 ó–   • U R                  SS00 5      nU R                  US   SSS/SS/SS	S
9  U R                  US   SSS/SS/S S9  g r!  rÃ   rÄ   s     r4   Útest_remove_deferrableÚ0AutogenerateFKOptionsTest.test_remove_deferrable�  s~   € à×%Ñ% |°TÐ&:¸BÓ?ˆà×ÑØ�!‰HØØØˆGØØˆFØØ.ð 	ñ 		
ð 	×ÑØ�!‰HØØØˆGØØˆFØð 	ò 	
r7   rf   N)(rg   rh   ri   rj   rk   r¼   r   rm   Úfk_ondelete_is_reflectedrÅ   rÊ   rÒ   Úfk_onupdate_is_reflectedrØ   rÛ   Úfk_onupdaterÞ   Úfk_ondelete_restrictrã   Úfk_onupdate_restrictrç   Úfk_ondelete_noactionrì   rð   r÷   rú   rþ   Úfk_initiallyr  r  Úfk_deferrabler  r  r  r  r  r"  Úfk_deferrable_is_reflectedr%  rp   rf   r7   r4   r·   r·   Ì  s*  † Ø€Kò$%ðL ×Ñ×1Ñ1ñ
ó 2ð
ð0 ×Ñ×1Ñ1ñ
ó 2ð
ò0ð ×Ñ×1Ñ1ñ
ó 2ð
ð0 ×Ñ×1Ñ1ñ
ó 2ð
ð0 ×Ñ×$Ñ$ñó %ðð ×Ñ×-Ñ-ñó .ðð ×Ñ×-Ñ-ñó .ðð ×Ñ×-Ñ-ñó .ðð ×Ñ×$Ñ$ñó %ðð ×Ñ×-Ñ-ñ
ó .ð
ð> ×Ñ×-Ñ-ñ
ó .ð
ð> ×Ñ×1Ñ1Ø×Ñ×1Ñ1ñ
ó 2ó 2ð
ð: ×Ñ×%Ñ%ñ
ó &ð
ð0 ×Ñ×%Ñ%ñ
ó &ð
ð2 ×Ñ×&Ñ&Ø×Ñ×%Ñ%ñ
ó &ó 'ð
ð6 ×Ñ×&Ñ&Ø×Ñ×%Ñ%ñ
ó &ó 'ð
ð8 ×Ñ×%Ñ%Ø×Ñ×&Ñ&ñó 'ó &ðð ×Ñ×%Ñ%Ø×Ñ×&Ñ&ñó 'ó &ðð ×Ñ×%Ñ%Ø×Ñ×&Ñ&ñó 'ó &ðð ×Ñ×&Ñ&ñ
ó 'ð
ð0 ×Ñ×3Ñ3ñ
ó 4ó
r7   r·   N)Ú
sqlalchemyr   r   r   r   r   r   Ú_autogen_fixturesr
   Útestingr   r   r   r   r   r   rr   r·   rf   r7   r4   Ú<module>r3     s^   ðÝ Ý +Ý Ý Ý Ý å 1Ý #Ý Ý Ý Ý ôDÐ"4°hô DôNrÐ)¨8ô rôj[
Ð 2°Hõ [
r7   