ó
    úÞ j)  ã                  ó”  • S SK Jr  S SKJr  S SKrS SK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  \(       a*  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  \R@                  " \!5      r"        SS jr#            SS jr$\RJ                                  SS j5       r&SS jr'g)é    )Úannotations)ÚIteratorN)ÚTYPE_CHECKING)Úevent©Úschema)Ú
OrderedSeté   )Ú_InspectorConvé   )Úops)ÚPriorityDispatchResult)Ú	Inspector)Úquoted_name)ÚTable)ÚAutogenContext)ÚModifyTableOps)Ú
UpgradeOps)ÚPluginc           
     óî  ^• U R                   n[        5       nU R                  R                  nU R                  R                  nU H¹  m[        UR                  TS95      =pxTU:X  a&  UR                  U R                  R                  /5      nU V	s/ sH!  n	U R                  U	SST05      (       d  M  U	PM#     n
n	UR                  U4S jU
 5       5        U R                   n[        U5      nUR                  TX¨5        M»     [        U R                   Vs/ sH  oÌR                  UR                  4PM     sn5      R                  XV4/5      n[        UUUUU 5        [         R"                  $ s  sn	f s  snf )Nr   ÚtableÚschema_namec              3  ó*   >#   • U H	  nTU4v •  M     g 7f©N© )Ú.0Útnamer   s     €Ú]/var/www/html/gaurav/venv/lib/python3.13/site-packages/alembic/autogenerate/compare/tables.pyÚ	<genexpr>Ú&_autogen_for_tables.<locals>.<genexpr>=   s   øé € ÐMÁ*¸ ¨eÕ 4Â*ùs   ƒ)Ú	inspectorÚsetÚmigration_contextÚversion_table_schemaÚversion_tableÚget_table_namesÚ
differenceÚrun_name_filtersÚupdater   Úpre_cache_tablesr	   Úsorted_tablesr   ÚnameÚ_compare_tablesr   ÚCONTINUE)Úautogen_contextÚupgrade_opsÚschemasr!   Úconn_table_namesr$   r%   ÚtablesÚ	availabler   Ú
tablenamesÚinspr   Úmetadata_table_namesr   s                 @r   Ú_autogen_for_tablesr8       s  ø€ ð
  ×)Ñ)€Iä47³EÐð 	×)Ñ)×>Ñ>ð ð $×5Ñ5×CÑC€MãˆÜ  ×!:Ñ!:À+Ð!:Ð!NÓOÐOˆØÐ.Ó.Ø×&Ñ&Ø ×2Ñ2×@Ñ@ÐAóˆFñ  ó
á�Ø×/Ñ/Ø�w °Ð <÷÷ Ùð 	ð 
ð 	×ÑÔMÁ*ÓMÔMà#×-Ñ-ˆ	Ü˜iÓ(ˆØ×Ñ˜k¨:ÖAñ' ô* &Ø1@×1NÒ1NÓOÑ1N¨�,‰,˜Ÿ
™
Ó	#Ñ1NÑOóç�jÐ'Ð7Ð8Ó9ð ô ØØØØØôô "×*Ñ*Ð*ùò5
ùò 	Ps   ÂE-Â3E-Ä E2c                óŠ
  • UR                   R                  R                  n[        U VVs/ sH  u  pgXe:w  a  UOS U4PM     snn5      n[	        X�5       V	VVs0 sH+  u  n	u  pgX”R
                  [        R                  " Xv5         _M-     n
nn	nUnUR                  U 5       GH  u  p·U(       a	  U< SU< 3OUnX«U4   nUR                  X×SSS 5      (       d  M9  UR                  R                  [        R                  R                  U5      5        [        R                  SU5        [        R                   " U/ US9nUR"                  R%                  SUR                  R&                  S9" UUUUS U5        UR)                  5       (       a  Mí  UR                  R                  U5        GM     [        R*                  " 5       nU R                  U5       GH‚  u  p·[        R                  " X{5      nXÏR,                  ;   n[        R.                  " XUS9nU(       dU  [0        R2                  " USUR4                  R6                  R9                  U5      5        [;        U5      R=                  U5        UR                  UUSSS 5      (       d  M·  [        R                   " U/ US9nUR"                  R%                  SUR                  R&                  S9" XNX·US 5        UR)                  5       (       d  UR                  R                  U5        UR                  R                  [        R>                  R                  U5      5        [        R                  S	U5        GM…     U RA                  U5      n[        R*                  " 5       n0 nU H¢  u  p·[        R                  " X{5      nUUR,                  ;   n[        R.                  " UUUS9nU(       dU  [0        R2                  " USUR4                  R6                  R9                  U5      5        [;        U5      R=                  U5        UUX·4'   M¤     [C        US
 S9 Hí  u  p·U=(       d    S nU(       a	  U< SU< 3OUnX«U4   nUR,                  U   nUR                  X×SSU5      (       d  MR  [        R                   " U/ US9n[E        UUUUUUU5         UR"                  R%                  SUR                  R&                  S9" UUUUUU5        S S S 5        UR)                  5       (       a  MÒ  UR                  R                  U5        Mï     g s  snnf s  snnn	f ! , (       d  f       NR= f)NÚ.r   FzDetected added table %rr   ©Ú	qualifierÚcolumn_reflectTzDetected removed table %rc                ó(   • U S   =(       d    SU S   4$ )Nr   Ú r
   r   )Úxs    r   Ú<lambda>Ú!_compare_tables.<locals>.<lambda>Å   s   € ¸1¸Q¹4¿:À2ÀqÈÁtÑ:Ló    )Úkey)#ÚbindÚdialectÚdefault_schema_namer	   ÚzipÚtable_key_to_tableÚ	sa_schemaÚ_get_table_keyr'   Úrun_object_filtersr   ÚappendÚCreateTableOpÚ
from_tableÚlogÚinfor   ÚcomparatorsÚdispatchr,   Úis_emptyÚMetaDatar3   r   r   Úlistenr#   ÚimplÚ_compat_autogen_column_reflectr   Úreflect_tableÚDropTableOpÚintersectionÚsortedÚ_compare_columns)r2   r7   r!   r0   r/   Údefault_schemar   r   Ú#metadata_table_names_no_dflt_schemaÚno_dflt_schemaÚtname_to_tableÚsr,   Úmetadata_tableÚmodify_table_opsÚremoval_metadataÚexistsÚtÚexisting_tablesÚexisting_metadataÚconn_column_infoÚ
conn_tables                         r   r-   r-   R   sæ  € ð —^‘^×+Ñ+×?Ñ?€Nô +5ñ "6ô	
á!5‘�ð Ó/‰V°T¸5ÓAÙ!5ò	
ó+Ð'ô 03Ø/ô0
õ	ñ0
Ñ+ˆN™O˜Vð 	×:Ñ:Ü×$Ò$ UÓ3ñ
ò 	
ñ0
ð	 ò ð ?Ðà(×3Ñ3Ð4D×E‰ˆÞ'(›!šUÑ#¨eˆØ'¨E¨
Ñ3ˆØ×-Ñ-Ø 7¨E°4÷
ó 
ð �O‰O×"Ñ"Ü×!Ñ!×,Ñ,¨^Ó<ôô �H‰HÐ.°Ô5Ü"×1Ò1°%¸ÀAÑFÐà×'Ñ'×0Ñ0Ø ?×#:Ñ#:×#?Ñ#?ð 1ñ ð  Ø ØØØØô	ð $×,Ñ,×.Ó.Ø—‘×&Ñ&Ð'7×8ñ/ Fô2 !×)Ò)Ó+ÐØ$×/Ñ/Ð0D×E‰ˆÜ×'Ò'¨Ó1ˆð ×0Ñ0Ñ0ˆÜ�OŠO˜E¸AÑ>ˆæÜ�LŠLØØ à×1Ñ1×6Ñ6ß.Ñ.Øóôô ˜9Ó%×3Ñ3°AÔ6Ø×-Ñ-¨a°¸ÀÀt×LÓLÜ"×1Ò1°%¸ÀAÑFÐà×'Ñ'×0Ñ0Ø ?×#:Ñ#:×#?Ñ#?ð 1ñ à°¸1¸dôDð $×,Ñ,×.Ñ.Ø—‘×&Ñ&Ð'7Ô8à�O‰O×"Ñ"¤3§?¡?×#=Ñ#=¸aÓ#@ÔAÜ�H‰HÐ0°$×7ñ; Fð> '×3Ñ3Ð4HÓI€Oä!×*Ò*Ó,ÐØÐÛ#‰ˆÜ×'Ò'¨Ó1ˆØÐ*×1Ñ1Ñ1ˆô �OŠO˜EÐ#4¸QÑ?ˆÞÜ�LŠLØØ à×1Ñ1×6Ñ6ß.Ñ.¨yÓ9ôô ˜9Ó%×3Ñ3°AÔ6à'(Ð˜!˜Ó$ñ% $ô( ˜?Ñ0LÔM‰ˆØ�I�ˆÞ'(›!šUÑ#¨eˆØ'¨E¨
Ñ3ˆØ&×-Ñ-¨dÑ3ˆ
à×-Ñ-Ø 7¨E°:÷
ó 
ô  #×1Ò1°%¸ÀAÑFÐÜ!ØØØØØ ØØõð  ×+Ñ+×4Ñ4Ø ×'>Ñ'>×'CÑ'Cð 5ñ ð $Ø$ØØØØ"ô	÷ð( $×,Ñ,×.Ó.Ø—‘×&Ñ&Ð'7Ö8ò? NùóI	
ùô÷Jõ ús   «T'
Á1T-Ò.:T4Ô4
U	c           
   #  ót  #   • U (       a	  U < SU< 3OUn[        S UR                   5       5      nUR                   V	s0 sH"  o™R                  (       a  M  U	R                  U	_M$     n
n	UR                   V	s0 sH6  n	UR	                  U	R                  SXS.5      (       d  M)  U	R                  U	_M8     nn	UR                  U5       Hr  nUR                  X¬   USSS 5      (       d  M!  UR                  R                  [        R                  R                  XX¬   5      5        [        R                  SX|5        Mt     UR                  U5       H²  nX­   nUR                  U   nUR                  XíSSU5      (       d  M1  [        R                  " XU S9nUR                  R!                  SUR"                  R                  S9" UUU UUUU5        UR%                  5       (       d  M—  UR                  R                  U5        M´     S v •  ['        U5      R                  U5       Hˆ  nUR                  UR                  U   USS	S 5      (       d  M,  UR                  R                  [        R(                  R                  XUR                  U   5      5        [        R                  S
X|5        MŠ     g s  sn	f s  sn	f 7f)Nr:   c              3  ó\   #   • U H#  oR                   (       a  M  UR                  v •  M%     g 7fr   )Úsystemr,   )r   Úcs     r   r   Ú#_compare_columns.<locals>.<genexpr>ò   s   é € ð $Ù(�1·µ‹ˆ�ŽÒ(ùs   ‚,™,Úcolumn)Ú
table_namer   FzDetected added column '%s.%s'r   r;   TzDetected removed column '%s.%s')r	   ro   rn   r,   r(   r'   rL   r   rM   ÚAddColumnOpÚfrom_column_and_tablenamerP   rQ   r[   ÚAlterColumnOprR   rS   rF   Úhas_changesr"   ÚDropColumnOp)r   r   rk   rc   rd   r/   r!   r,   Úmetadata_col_namesro   Úmetadata_cols_by_nameÚconn_col_namesÚcnameÚcolnameÚmetadata_colÚconn_colÚalter_column_ops                    r   r]   r]   ç   s”  é € ö )/“fšeÑ$°E€DÜ#ñ $Ø&×(Ò(ó$ó Ðð *×+Ò+óÙ+�a·8µ8‹	ˆ�‰�Š	Ñ+ð ð ð —’óáˆAØ×+Ñ+Ø�F‰F�H¨UÑJ÷
ó 	ˆ�‰�Š	Ùð ð ð $×.Ñ.¨~Ö>ˆØ×-Ñ-Ø!Ñ(¨%°¸5À$÷
ó 
ð × Ñ ×'Ñ'Ü—‘×9Ñ9ØÐ#8Ñ#?óôô
 �H‰HÐ4°dÖBñ ?ð &×2Ñ2°>ÖBˆØ,Ñ5ˆØ—<‘< Ñ(ˆØ×1Ñ1Ø 8¨U°H÷
ñ 
ñ Ü×+Ò+¨EÀ6ÑJˆà×#Ñ#×,Ñ,Ø × 7Ñ 7× <Ñ <ð 	-ñ 	
ð ØØØØØØô
	
ð ×&Ñ&×(Ó(Ø× Ñ ×'Ñ'¨Ö8ñ- Có0 
ä�^Ó$×/Ñ/Ð0BÖCˆØ×-Ñ-Ø�L‰L˜Ñ ¨°$¸÷
ó 
ð × Ñ ×'Ñ'Ü× Ñ ×:Ñ:Ø :§<¡<°Ñ#6óôô
 �H‰HÐ6¸ÖDò Dùòcùòùs=   ‚=J8¿J.ÁJ.Á'J8Á7'J3Â"J3Â30J8Ã'C9J8Ç$A%J8ÉA+J8c                ó2   • U R                  [        SS5        g )Nr   r3   )Úadd_autogenerate_comparatorr8   )Úplugins    r   Úsetuprƒ   2  s   € à
×&Ñ&ÜØØõrC   )r/   r   r0   r   r1   zset[str | None]Úreturnr   )r2   úset[tuple[str | None, str]]r7   r…   r!   r   r0   r   r/   r   r„   ÚNone)r   z
str | Noner   zquoted_name | strrk   r   rc   r   rd   r   r/   r   r!   r   r„   zIterator[None])r‚   r   r„   r†   )(Ú
__future__r   Úcollections.abcr   Ú
contextlibÚloggingÚtypingr   Ú
sqlalchemyr   r   rJ   Úsqlalchemy.utilr	   Úutilr   Ú
operationsr   r   Úsqlalchemy.engine.reflectionr   Úsqlalchemy.sql.elementsr   Úsqlalchemy.sql.schemar   Úautogenerate.apir   Úoperations.opsr   r   Úruntime.pluginsr   Ú	getLoggerÚ__name__rP   r8   r-   Úcontextmanagerr]   rƒ   r   rC   r   Ú<module>r™      sA  ðõ #å $Û Û Ý  å Ý *Ý &å  Ý Ý *æÝ6Ý3Ý+å2Ý0Ý,Ý)ð ×Ò˜Ó!€ð/+Ø#ð/+àð/+ð ð/+ð ô	/+ðdR9Ø1ðR9à5ðR9ð ðR9ð ð	R9ð
 $ðR9ð 
ôR9ðj ×ÑðGEØðGEàðGEð ðGEð ð	GEð
 %ðGEð $ðGEð ðGEð óGEó ðGEõTrC   