ó
    úÞ 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  \(       a  S S	KJr  \R                  " \R                  5            SS j5       r\R                  " \R"                  5      SS j5       r\R                  " \R&                  5            SS j5       r\R                  " \R*                  5            SS j5       r\R                  " \R.                  5      SS j5       r\R                  " \R2                  5            SS j5       r\R                  " \R6                  5            SS j5       r\R                  " \R:                  5            S S j5       r\R                  " \R>                  5            S!S j5       r \R                  " \RB                  5      S"S j5       r"\R                  " \RF                  5            S#S j5       r$\R                  " \RJ                  5            S$S j5       r&\R                  " \RN                  5            S%S j5       r(\R                  " \RR                  5            S&S j5       r*g
)'é    )ÚTYPE_CHECKING©Úschemaé   )Úops)Ú
Operationsé   )Ú_copy)Úsqla_2)ÚTableNc                 ó  ^• U R                   R                  R                  U R                   R                  S 5      mUR                  nUR                  nUR
                  nUR                  nUR                  nUR                  nUR                  nUR                  n	UR                  n
UR                  nUR                  nUR                  nU4S jnU(       as  U(       al  U R                  R!                  U["        R$                  " Xb5      US9nUR&                   H-  nU" U5      (       d  M  U R                   R)                  U5        M/     USLd   eUSLd   eU R                   R*                  " UU4UU	U
UUUUUUUS.
UR,                  D6  U(       ar  U R                  R!                  UU R                  R/                  Xe5      US9nUR&                   H-  nU" U5      (       d  M  U R                   R1                  U5        M/     g g )Nc                 ó¢   >• [        U [        R                  5      (       + =(       a)    U R                  (       + =(       d    U R                  T5      $ ©N)Ú
isinstanceÚ	sa_schemaÚPrimaryKeyConstraintÚ_create_rule)Ú
constraintÚcompilers    €ÚS/var/www/html/gaurav/venv/lib/python3.13/site-packages/alembic/operations/toimpl.pyÚ_count_constraintÚ'alter_column.<locals>._count_constraint&   s<   ø€ Ü˜j¬)×*HÑ*HÓIÔI÷ 
Ø×'Ñ'Ô'×L¨:×+BÑ+BÀ8Ó+Lð	
ó    r   T)
ÚnullableÚserver_defaultÚnameÚtype_r   Úexisting_typeÚexisting_server_defaultÚexisting_nullableÚcommentÚexisting_comment)ÚimplÚdialectÚstatement_compilerr   r    r   Úmodify_typeÚcolumn_nameÚ
table_namer   Úmodify_server_defaultÚmodify_nameÚmodify_nullableÚmodify_commentr"   Ú
schema_objÚtabler   ÚColumnÚconstraintsÚdrop_constraintÚalter_columnÚkwÚcolumnÚadd_constraint)Ú
operationsÚ	operationr   r    r   r   r'   r(   r   r   Únew_column_namer   r!   r"   r   Útr   r   s                    @r   r2   r2      sô  ø€ ð �‰×&Ñ&×9Ñ9Ø�‰×Ñ ó€Hð ×+Ñ+€MØ!×3Ñ3ÐØ'×?Ñ?ÐØ×!Ñ!€EØ×'Ñ'€KØ×%Ñ%€JØ×Ñ€FØ×4Ñ4€NØ×+Ñ+€OØ×(Ñ(€HØ×&Ñ&€GØ ×1Ñ1Ðõ
ö
 žØ×!Ñ!×'Ñ'ØÜ×Ò˜[Ó8Øð (ð 
ˆð
 Ÿ-œ-ˆJÙ  ×,Ó,Ø—‘×/Ñ/°
Ö;ñ (ð #¨$Ò.Ð.Ð.Ø˜$ÒÐÐà‡O�O× Ò ØØðð Ø%ØØØØ#Ø 7Ø+ØØ)ñð �,‰,òö  Ø×!Ñ!×'Ñ'ØØ×!Ñ!×(Ñ(¨Ó<Øð (ð 
ˆð
 Ÿ-œ-ˆJÙ  ×,Ó,Ø—‘×.Ñ.¨zÖ:ò (ð r   c                 ó¬   • 0 nUR                   b  UR                   US'   U R                  R                  " UR                  U R                  5      40 UD6  g ©NÚ	if_exists)r<   r#   Ú
drop_tableÚto_tableÚmigration_context©r6   r7   r3   s      r   r=   r=   U   sP   € à	€BØ×ÑÑ&Ø#×-Ñ-ˆˆ;‰Ø‡O�O×ÒØ×Ñ˜:×7Ñ7Ó8ñØ<>ór   c                 óÌ   • UR                  U R                  5      nU R                  R                  " UR                  U4UR
                  UR                  S.UR                  D6  g )N)r   r<   )Ú	to_columnr?   r#   Údrop_columnr(   r   r<   r3   )r6   r7   r4   s      r   rC   rC   _   s_   € ð × Ñ  ×!=Ñ!=Ó>€FØ‡O�O×ÒØ×ÑØðð ×ÑØ×%Ñ%ñ	ð
 �,‰,ór   c                 ó°   • UR                  U R                  5      n0 nUR                  b  UR                  US'   U R                  R                  " U40 UD6  g ©NÚif_not_exists)Úto_indexr?   rF   r#   Úcreate_index)r6   r7   Úidxr3   s       r   rH   rH   m   sR   € ð ×
Ñ
˜Z×9Ñ9Ó
:€CØ	€BØ×ÑÑ*Ø'×5Ñ5ˆˆ?ÑØ‡O�O× Ò  Ñ+¨Ó+r   c                 ó¬   • 0 nUR                   b  UR                   US'   U R                  R                  " UR                  U R                  5      40 UD6  g r;   )r<   r#   Ú
drop_indexrG   r?   r@   s      r   rK   rK   x   sP   € à	€BØ×ÑÑ&Ø#×-Ñ-ˆˆ;‰à‡O�O×ÒØ×Ñ˜:×7Ñ7Ó8ñà
ór   c                 ó²   • 0 nUR                   b  UR                   US'   UR                  U R                  5      nU R                  R                  " U40 UD6  U$ rE   )rF   r>   r?   r#   Úcreate_table)r6   r7   r3   r.   s       r   rM   rM   „   sW   € ð 
€BØ×ÑÑ*Ø'×5Ñ5ˆˆ?ÑØ×Ñ˜z×;Ñ;Ó<€EØ‡O�O× Ò  Ñ-¨"Ò-Ø€Lr   c                 óv   • U R                   R                  UR                  UR                  UR                  S9  g )Nr   )r#   Úrename_tabler(   Únew_table_namer   ©r6   r7   s     r   rO   rO   �   s4   € ð ‡O�O× Ñ Ø×Ñ˜i×6Ñ6¸y×?OÑ?Oð !ò r   c                 óp   • UR                  U R                  5      nU R                  R                  U5        g r   )r>   r?   r#   Úcreate_table_comment©r6   r7   r.   s      r   rS   rS   ™   s,   € ð ×Ñ˜z×;Ñ;Ó<€EØ‡O�O×(Ñ(¨Õ/r   c                 óp   • UR                  U R                  5      nU R                  R                  U5        g r   )r>   r?   r#   Údrop_table_commentrT   s      r   rV   rV   ¡   s,   € ð ×Ñ˜z×;Ñ;Ó<€EØ‡O�O×&Ñ& uÕ-r   c                 ó  • UR                   nUR                  nUR                  nUR                  nUR                  nUR
                  nUR                  b  [        U5      nU R                  R                  X#US9nU R                  R                  " UU4UUR                  UUS.UD6  UR                   H™  n	[        U	[        R                  5      (       a  M$  U(       aS  [        U	[        R                   5      (       a4  [#        UR$                  5      S:X  a  [#        U	R&                  5      S:X  a  M~  U R                  R)                  U	5        M›     UR*                   H  n
U R                  R-                  U
5        M      U R                  R.                  R0                  =(       a%    U R                  R.                  R2                  (       + nUR4                  nU(       a$  U(       a  U R                  R7                  U5        g g g )Nr   )r   rF   Úinline_referencesÚinline_primary_keyr   )r(   r4   r   r3   rX   rY   r.   r
   r-   r#   Ú
add_columnrF   r0   r   r   r   ÚForeignKeyConstraintÚlenÚforeign_keysÚcolumnsr5   ÚindexesrH   r$   Úsupports_commentsÚinline_commentsr!   Úcreate_column_comment)r6   r7   r(   r4   r   r3   rX   rY   r9   r   ÚindexÚwith_commentr!   s                r   rZ   rZ   ©   s£  € à×%Ñ%€JØ×Ñ€FØ×Ñ€FØ	�‰€BØ!×3Ñ3ÐØ"×5Ñ5Ðà‡|�|ÑÜ�v“ˆà×Ñ×#Ñ# J¸vÐ#ÐF€AØ‡O�O×ÒØØðð Ø×-Ñ-Ø+Ø-ñð òð —m”mˆ
Ü˜*¤i×&DÑ&D×EÓEö
 "Ü˜z¬9×+IÑ+I×JÑJÜ˜×+Ñ+Ó,°Ó1Ü˜
×*Ñ*Ó+¨qÓ0áØ�O‰O×*Ñ*¨:Ö6ñ $ð —”ˆØ�‰×$Ñ$ UÖ+ñ ð 	�‰×Ñ×1Ñ1÷ 	8Ø—‘×'Ñ'×7Ñ7Ô7ð ð �n‰n€GÞ–<Ø�‰×-Ñ-¨fÕ5ð  €wr   c                 ól   • U R                   R                  UR                  U R                  5      5        g r   )r#   r5   Úto_constraintr?   rQ   s     r   Úcreate_constraintrg   Ù   s*   € ð ‡O�O×"Ñ"Ø×Ñ 
× <Ñ <Ó=õr   c           	      ó*  • 0 nUR                   b%  [        (       d  [        S5      eUR                   US'   U R                  R                  " U R
                  R                  UR                  UR                  UR                  UR                  S940 UD6  g )NzSQLAlchemy 2.0 requiredr<   r   )r<   r   ÚNotImplementedErrorr#   r1   r-   Úgeneric_constraintÚconstraint_namer(   Úconstraint_typer   r@   s      r   r1   r1   â   sŽ   € ð 
€BØ×ÑÑ&ßŠvÜ%Ð&?Ó@Ð@Ø#×-Ñ-ˆˆ;‰Ø‡O�O×#Ò#Ø×Ñ×0Ñ0Ø×%Ñ%Ø× Ñ Ø×%Ñ%Ø×#Ñ#ð	 	1ð 	
ñð ór   c                 óv   • U R                   R                  UR                  UR                  UR                  S9  g )N)Úmultiinsert)r#   Úbulk_insertr.   Úrowsrn   rQ   s     r   ro   ro   ö   s0   € ð ‡O�O×ÑØ�‰˜Ÿ™°Y×5JÑ5Jð  ò r   c                 ót   • U R                   R                  R                  UR                  UR                  S9  g )N)Úexecution_options)r?   r#   ÚexecuteÚsqltextrr   rQ   s     r   Úexecute_sqlru   ÿ   s4   € ð × Ñ ×%Ñ%×-Ñ-Ø×Ñ¨Y×-HÑ-Hð .ò r   )r6   r   r7   zops.AlterColumnOpÚreturnN)r6   r   r7   zops.DropTableOprv   N)r6   r   r7   zops.DropColumnOprv   N)r6   r   r7   zops.CreateIndexOprv   N)r6   r   r7   zops.DropIndexOprv   N)r6   r   r7   zops.CreateTableOprv   r   )r6   r   r7   zops.RenameTableOprv   N)r6   r   r7   zops.CreateTableCommentOprv   N)r6   r   r7   zops.DropTableCommentOprv   N)r6   r   r7   zops.AddColumnOprv   N)r6   r   r7   zops.AddConstraintOprv   N)r6   r   r7   zops.DropConstraintOprv   N)r6   r   r7   zops.BulkInsertOprv   N)r6   r   r7   zops.ExecuteSQLOprv   N)+Útypingr   Ú
sqlalchemyr   r   Ú r   Úbaser   Úutil.sqla_compatr
   r   Úsqlalchemy.sql.schemar   Úimplementation_forÚAlterColumnOpr2   ÚDropTableOpr=   ÚDropColumnOprC   ÚCreateIndexOprH   ÚDropIndexOprK   ÚCreateTableOprM   ÚRenameTableOprO   ÚCreateTableCommentOprS   ÚDropTableCommentOprV   ÚAddColumnOprZ   ÚAddConstraintOprg   ÚDropConstraintOpr1   ÚBulkInsertOpro   ÚExecuteSQLOpru   © r   r   Ú<module>r�      s.  ðõ !å *å Ý Ý $Ý %æÝ+ð ×Ò˜s×0Ñ0Ó1ð@;Øð@;Ø)<ð@;à	ó@;ó 2ð@;ðF ×Ò˜sŸ™Ó/óó 0ðð ×Ò˜s×/Ñ/Ó0ð
Øð
Ø);ð
à	ó
ó 1ð
ð ×Ò˜s×0Ñ0Ó1ð,Øð,Ø)<ð,à	ó,ó 2ð,ð ×Ò˜sŸ™Ó/óó 0ðð ×Ò˜s×0Ñ0Ó1ðØðØ)<ðàóó 2ðð ×Ò˜s×0Ñ0Ó1ðØðØ)<ðà	óó 2ðð ×Ò˜s×7Ñ7Ó8ð0Øð0Ø)Cð0à	ó0ó 9ð0ð ×Ò˜s×5Ñ5Ó6ð.Øð.Ø)Að.à	ó.ó 7ð.ð ×Ò˜sŸ™Ó/ó,6ó 0ð,6ð^ ×Ò˜s×2Ñ2Ó3ðØðØ)>ðà	óó 4ðð ×Ò˜s×3Ñ3Ó4ðØðØ)?ðà	óó 5ðð& ×Ò˜s×/Ñ/Ó0ðØðØ);ðà	óó 1ðð ×Ò˜s×/Ñ/Ó0ðØðØ);ðà	óó 1ñr   