Ë
    Ó~ïi!  ã                   ó´  — d dl mZ d dlmZ ddlmZ ddlmZ ddl	m
Z
 ddl	mZ erd d	lmZ  ej                  ej                  «      	 	 	 	 	 	 dd„«       Z ej                  ej"                  «      dd„«       Z ej                  ej&                  «      	 	 	 	 	 	 dd„«       Z ej                  ej*                  «      	 	 	 	 	 	 dd„«       Z ej                  ej.                  «      dd„«       Z ej                  ej2                  «      	 	 	 	 	 	 dd„«       Z ej                  ej6                  «      	 	 	 	 	 	 dd„«       Z ej                  ej:                  «      	 	 	 	 	 	 d d„«       Z ej                  ej>                  «      	 	 	 	 	 	 d!d„«       Z  ej                  ejB                  «      d"d„«       Z" ej                  ejF                  «      	 	 	 	 	 	 d#d„«       Z$ ej                  ejJ                  «      	 	 	 	 	 	 d$d„«       Z& ej                  ejN                  «      	 	 	 	 	 	 d%d„«       Z( ej                  ejR                  «      	 	 	 	 	 	 d&d„«       Z*y
)'é    )ÚTYPE_CHECKING©Úschemaé   )Úops)Ú
Operationsé   )Ú_copy)Úsqla_2)ÚTableNc                 óØ  ‡— | j                   j                  j                  | j                   j                  d «      Š|j                  }|j                  }|j
                  }|j                  }|j                  }|j                  }|j                  }|j                  }	|j                  }
|j                  }|j                  }|j                  }ˆfd„}|ri|rg| j                  j!                  |t#        j$                  ||«      |¬«      }|j&                  D ]&  } ||«      sŒ| j                   j)                  |«       Œ( |dusJ ‚|dusJ ‚ | j                   j*                  ||f||	|
|||||||dœ
|j,                  ¤Ž |rn| j                  j!                  || j                  j/                  ||«      |¬«      }|j&                  D ]&  } ||«      sŒ| j                   j1                  |«       Œ( y y )Nc                 ó~   •— t        | t        j                  «       xr  | j                   xs | j                  ‰«      S ©N)Ú
isinstanceÚ	sa_schemaÚPrimaryKeyConstraintÚ_create_rule)Ú
constraintÚcompilers    €úp/var/www/acinvestment.org/public_html/aci/backend/venv/lib/python3.12/site-packages/alembic/operations/toimpl.pyÚ_count_constraintz'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   r1   r1      sþ  ø€ ð �‰×&Ñ&×9Ñ9Ø�‰×Ñ ó€Hð ×+Ñ+€MØ!×3Ñ3ÐØ'×?Ñ?ÐØ×!Ñ!€EØ×'Ñ'€KØ×%Ñ%€JØ×Ñ€FØ×4Ñ4€NØ×+Ñ+€OØ×(Ñ(€HØ×&Ñ&€GØ ×1Ñ1Ðô
ñ
 ™Ø×!Ñ!×'Ñ'ØÜ×Ñ˜[¨-Ó8Øð (ó 
ˆð
 Ÿ-™-ò 	<ˆJÙ  Õ,Ø—‘×/Ñ/°
Õ;ð	<ð #¨$Ñ.Ð.Ð.Ø˜$ÑÐÐà €J‡O�O× Ñ ØØðð Ø%ØØØØ#Ø 7Ø+ØØ)ñð �,‰,òñ  Ø×!Ñ!×'Ñ'ØØ×!Ñ!×(Ñ(¨°eÓ<Øð (ó 
ˆð
 Ÿ-™-ò 	;ˆJÙ  Õ,Ø—‘×.Ñ.¨zÕ:ñ	;ð r   c                 óª   — i }|j                   �|j                   |d<    | j                  j                  |j                  | j                  «      fi |¤Ž y ©NÚ	if_exists)r;   r"   Ú
drop_tableÚto_tableÚmigration_context©r5   r6   r2   s      r   r<   r<   U   sR   € à	€BØ×ÑÐ&Ø#×-Ñ-ˆˆ;‰Ø€J‡O�O×ÑØ×Ñ˜:×7Ñ7Ó8ñØ<>ór   c                 óÌ   — |j                  | j                  «      } | j                  j                  |j                  |f|j
                  |j                  dœ|j                  ¤Ž y )N)r   r;   )Ú	to_columnr>   r"   Údrop_columnr'   r   r;   r2   )r5   r6   r3   s      r   rB   rB   _   sa   € ð × Ñ  ×!=Ñ!=Ó>€FØ€J‡O�O×ÑØ×ÑØðð ×ÑØ×%Ñ%ñ	ð
 �,‰,ór   c                 ó®   — |j                  | j                  «      }i }|j                  �|j                  |d<    | j                  j                  |fi |¤Ž y ©NÚif_not_exists)Úto_indexr>   rE   r"   Úcreate_index)r5   r6   Úidxr2   s       r   rG   rG   m   sT   € ð ×
Ñ
˜Z×9Ñ9Ó
:€CØ	€BØ×ÑÐ*Ø'×5Ñ5ˆˆ?ÑØ €J‡O�O× Ñ  Ñ+¨Ó+r   c                 óª   — i }|j                   �|j                   |d<    | j                  j                  |j                  | j                  «      fi |¤Ž y r:   )r;   r"   Ú
drop_indexrF   r>   r?   s      r   rJ   rJ   x   sR   € à	€BØ×ÑÐ&Ø#×-Ñ-ˆˆ;‰à€J‡O�O×ÑØ×Ñ˜:×7Ñ7Ó8ñà
ór   c                 ó°   — i }|j                   �|j                   |d<   |j                  | j                  «      } | j                  j                  |fi |¤Ž |S rD   )rE   r=   r>   r"   Úcreate_table)r5   r6   r2   r-   s       r   rL   rL   „   sY   € ð 
€BØ×ÑÐ*Ø'×5Ñ5ˆˆ?ÑØ×Ñ˜z×;Ñ;Ó<€EØ €J‡O�O× Ñ  Ñ-¨"Ò-Ø€Lr   c                 ó|   — | j                   j                  |j                  |j                  |j                  ¬«       y )Nr   )r"   Úrename_tabler'   Únew_table_namer   ©r5   r6   s     r   rN   rN   �   s4   € ð ‡O�O× Ñ Ø×Ñ˜i×6Ñ6¸y×?OÑ?Oð !õ r   c                 óp   — |j                  | j                  «      }| j                  j                  |«       y r   )r=   r>   r"   Úcreate_table_comment©r5   r6   r-   s      r   rR   rR   ™   s,   € ð ×Ñ˜z×;Ñ;Ó<€EØ‡O�O×(Ñ(¨Õ/r   c                 óp   — |j                  | j                  «      }| j                  j                  |«       y r   )r=   r>   r"   Údrop_table_commentrS   s      r   rU   rU   ¡   s,   € ð ×Ñ˜z×;Ñ;Ó<€EØ‡O�O×&Ñ& uÕ-r   c                 ó¸  — |j                   }|j                  }|j                  }|j                  }|j                  }|j
                  }|j                  �t        |«      }| j                  j                  |||¬«      } | j                  j                  ||f||j                  ||dœ|¤Ž |j                  D ]…  }	t        |	t        j                  «      rŒ|rKt        |	t        j                   «      r1t#        |j$                  «      dk(  rt#        |	j&                  «      dk(  rŒk| j                  j)                  |	«       Œ‡ |j*                  D ]  }
| j                  j-                  |
«       Œ | j                  j.                  j0                  xr! | j                  j.                  j2                   }|j4                  }|r|r| j                  j7                  |«       y y y )Nr   )r   rE   Úinline_referencesÚinline_primary_keyr   )r'   r3   r   r2   rW   rX   r-   r
   r,   r"   Ú
add_columnrE   r/   r   r   r   ÚForeignKeyConstraintÚlenÚforeign_keysÚcolumnsr4   ÚindexesrG   r#   Úsupports_commentsÚinline_commentsr    Úcreate_column_comment)r5   r6   r'   r3   r   r2   rW   rX   r8   r   ÚindexÚwith_commentr    s                r   rY   rY   ©   s«  € à×%Ñ%€JØ×Ñ€FØ×Ñ€FØ	�‰€BØ!×3Ñ3ÐØ"×5Ñ5Ðà‡|�|ÐÜ�v“ˆà×Ñ×#Ñ# J°¸vÐ#ÓF€AØ€J‡O�O×ÑØØðð Ø×-Ñ-Ø+Ø-ñð òð —m‘mò 7ˆ
Ü˜*¤i×&DÑ&DÕEñ
 "Ü˜z¬9×+IÑ+IÔJÜ˜×+Ñ+Ó,°Ò1Ü˜
×*Ñ*Ó+¨qÒ0àØ�O‰O×*Ñ*¨:Õ6ð7ð —‘ò ,ˆØ�‰×$Ñ$ UÕ+ð,ð 	�‰×Ñ×1Ñ1ò 	8Ø—‘×'Ñ'×7Ñ7Ð7ð ð �n‰n€GÙ‘<Ø�‰×-Ñ-¨fÕ5ð  €wr   c                 ól   — | j                   j                  |j                  | j                  «      «       y r   )r"   r4   Úto_constraintr>   rP   s     r   Úcreate_constraintrf   Ù   s*   € ð ‡O�O×"Ñ"Ø×Ñ 
× <Ñ <Ó=õr   c                 ó$  — i }|j                   � t        st        d«      ‚|j                   |d<    | j                  j                  | j
                  j                  |j                  |j                  |j                  |j                  ¬«      fi |¤Ž y )NzSQLAlchemy 2.0 requiredr;   r   )r;   r   ÚNotImplementedErrorr"   r0   r,   Úgeneric_constraintÚconstraint_namer'   Úconstraint_typer   r?   s      r   r0   r0   â   sŽ   € ð 
€BØ×ÑÐ&ÝÜ%Ð&?Ó@Ð@Ø#×-Ñ-ˆˆ;‰Ø#€J‡O�O×#Ñ#Ø×Ñ×0Ñ0Ø×%Ñ%Ø× Ñ Ø×%Ñ%Ø×#Ñ#ð	 	1ó 	
ñð ór   c                 ó|   — | j                   j                  |j                  |j                  |j                  ¬«       y )N)Úmultiinsert)r"   Úbulk_insertr-   Úrowsrm   rP   s     r   rn   rn   ö   s0   € ð ‡O�O×ÑØ�‰˜Ÿ™°Y×5JÑ5Jð  õ r   c                 óz   — | j                   j                  j                  |j                  |j                  ¬«       y )N)Úexecution_options)r>   r"   ÚexecuteÚsqltextrq   rP   s     r   Úexecute_sqlrt   ÿ   s4   € ð × Ñ ×%Ñ%×-Ñ-Ø×Ñ¨Y×-HÑ-Hð .õ r   )r5   r   r6   zops.AlterColumnOpÚreturnN)r5   r   r6   zops.DropTableOpru   N)r5   r   r6   zops.DropColumnOpru   N)r5   r   r6   zops.CreateIndexOpru   N)r5   r   r6   zops.DropIndexOpru   N)r5   r   r6   zops.CreateTableOpru   r   )r5   r   r6   zops.RenameTableOpru   N)r5   r   r6   zops.CreateTableCommentOpru   N)r5   r   r6   zops.DropTableCommentOpru   N)r5   r   r6   zops.AddColumnOpru   N)r5   r   r6   zops.AddConstraintOpru   N)r5   r   r6   zops.DropConstraintOpru   N)r5   r   r6   zops.BulkInsertOpru   N)r5   r   r6   zops.ExecuteSQLOpru   N)+Útypingr   Ú
sqlalchemyr   r   Ú r   Úbaser   Úutil.sqla_compatr
   r   Úsqlalchemy.sql.schemar   Úimplementation_forÚAlterColumnOpr1   ÚDropTableOpr<   ÚDropColumnOprB   ÚCreateIndexOprG   ÚDropIndexOprJ   ÚCreateTableOprL   ÚRenameTableOprN   ÚCreateTableCommentOprR   ÚDropTableCommentOprU   ÚAddColumnOprY   ÚAddConstraintOprf   ÚDropConstraintOpr0   ÚBulkInsertOprn   ÚExecuteSQLOprt   © r   r   ú<module>rŒ      sJ  ðõ !å *å Ý Ý $Ý %áÝ+ð €×Ñ˜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   