
    g$                    v   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KJr  S SKJr  S SKJr  SSKJr  SSKJr  \	(       aB  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&g )!    )annotations)Any)Dict)List)Optional)Sequence)Tuple)TYPE_CHECKING)Unionschema)Column)
Constraint)Index)Integer)NULLTYPE   )util)sqla_compat)ColumnElement)
TextClause)CheckConstraint)
ForeignKey)ForeignKeyConstraint)MetaData)PrimaryKeyConstraint)Table)UniqueConstraint)
TypeEngine)MigrationContextc                  T   \ rS rSr S   SS jjr S         SS jjr       S                         SS jjr S         SS jjr S         SS jjr S         SS jjr	SS	 jr
SS
 jrSS jr S         SS jjrSS jrSS jrSrg)SchemaObjects(   Nc                    Xl         g Nmigration_context)selfr'   s     d/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/alembic/operations/schemaobj.py__init__SchemaObjects.__init__)   s
     "3    c                .   U R                  5       nU Vs/ s H  n[        R                  " U[        5      PM      nn[        R                  " X&/UQ7SU06n	[        R
                  " U Vs/ s H  oyR                  U   PM     snSU0UD6n
U
$ s  snf s  snf Nr   name)metadata	sa_schemar   r   r   r   c)r(   r/   
table_namecolsr   
dialect_kwmncolumnstps              r)   primary_key_constraint$SchemaObjects.primary_key_constraint.   s     MMO:>?$Q9##Ax0$?OOJCGCFC **"#dcc!fd#
*.
2<
  @
 $s   %B*Bc           
     \   U R                  5       nX#:X  a
  X:X  a  XE-   nOGUn[        R                  " UU/U Vs/ s H  n[        R                  " U[        5      PM      snQ7SU
06  [        R                  " UU/[
        R                  " U5       Vs/ s H  n[        R                  " U[        5      PM      snQ7SU	06nU
(       a	  U
< SU< 3OUnXS'   [        R                  " UU Vs/ s H  nU< SU< 3PM     sn4UUUUUS.UD6nUR                  U5        U$ s  snf s  snf s  snf )Nr   .match)r/   onupdateondelete
deferrable	initially)	r0   r1   r   r   r   r   unique_listr   append_constraint)r(   r/   sourcereferent
local_colsremote_colsr@   rA   rB   source_schemareferent_schemarC   r?   r5   r6   t1_colsr7   t1tnamefs                       r)   foreign_key_constraint$SchemaObjects.foreign_key_constraint@   sU     MMO-"B .G GOO :EEA)""1h/E '	 __

 ))'22A   H-2
 !
  '1 	 $7**+67;aq!;7	
 !	
 	
 	QE F" 8s   %D
%D$
+D)
c           
     P   [         R                  " UU R                  5       /U Vs/ s H  n[         R                  " U[        5      PM      snQ7SU06nXS'   [         R
                  " U Vs/ s H  ogR                  U   PM     sn0 UD6nUR                  U5        U$ s  snf s  snf r.   )r1   r   r0   r   r   r   r2   rE   )	r(   r/   rF   rH   r   kwr7   r9   uqs	            r)   unique_constraintSchemaObjects.unique_constraint|   s     OOMMO
 6@@Ziq(+Z@
 	
 6
''*)E*Q##a&*)ELL 	
B	 A *Fs   %B
,B#c                    [         R                  " UU R                  5       [         R                  " S[        5      US9n[         R
                  " U4SU0UD6nUR                  U5        U$ )Nxr   r/   )r1   r   r0   r   r   r   rE   )r(   r/   rF   	conditionr   rS   r9   cks           r)   check_constraintSchemaObjects.check_constraint   s`     OOMMOS'*	
 &&yBtBrB	B	r,   c           
     D   U R                  X$S9nS [        R                  [        R                  S [        R                  S.n Xs   nU" US9nUR                  U5        U$ ! [         a3  n	[        SSR                  [        S U 5       5      5      -  5      U	eS n	A	ff = f)	Nr   c                .    [         R                  " / / U S9$ )Nr/   )r1   r   r_   s    r)   <lambda>2SchemaObjects.generic_constraint.<locals>.<lambda>   s    y'E'EBT(r,   c                ,    [         R                  " SU S9$ )N r_   )r1   r   r_   s    r)   r`   ra      s    )";";BT"Jr,   )
foreignkeyprimaryuniquecheckNr_   z'type' can be one of %sz, c              3  8   #    U  H  n[        U5      v   M     g 7fr%   )repr).0rX   s     r)   	<genexpr>3SchemaObjects.generic_constraint.<locals>.<genexpr>   s     ":Eq477Es   )
tabler1   r   r   r   rE   KeyError	TypeErrorjoinsorted)
r(   r/   r3   type_r   rS   r9   typesconstkes
             r)   generic_constraint SchemaObjects.generic_constraint   s     JJzJ1 !5500J&&+

	LE t$E&L  	)))F":E"::;< 	s   A" "
B,.BBc                    0 nU R                   bS  SU R                   R                  ;   a9  U R                   R                  S   n[        US5      (       a  UR                  US'   [        R
                  " S0 UD6$ )Ntarget_metadatanaming_convention )r'   optshasattrrz   r1   r   )r(   rS   mts      r)   r0   SchemaObjects.metadata   sq    "".!T%;%;%@%@@'',,->?Br.//*,*>*>&'!!'B''r,   c                   U R                  5       nU Vs/ s H?  n[        U[        5      (       d  M  UR                  b  [        R
                  " U5      OUPMA     nnUR                  SS5      nU(       a  U H  nS=Ul        Ul        M     [        R                  " X/UQ70 UD6nU V	s/ s HT  n	[        U	[        [        45      (       d  M   [        U	SS 5      ULa"  [        U	SS 5      b  [        R
                  " XS9OU	PMV     n
n	U
 H  nUR                  U5        M     UR                   H  nU R!                  XL5        M     U$ s  snf s  sn	f )N_constraints_includedFparent)target_table)r0   
isinstancer   rm   r   _copypoprf   indexr1   r   r   r   getattrrE   foreign_keys_ensure_table_for_fk)r(   r/   r8   rS   r6   r2   r4   r   r9   elemconstraintsrt   rO   s                r)   rm   SchemaObjects.table   sT   MMO 
!V$ ?AGG$7Ka Q> 	 
 !#'> F %**17  OOD1d1b1  	
  $U 344409D(D1= !!$7 
   	 	
 !E& ! A%%a+  E
$	
s   E)E+E8Ec                0    [         R                  " X40 UD6$ r%   )r1   r   )r(   r/   rr   rS   s       r)   columnSchemaObjects.column   s    2r22r,   c           
        [         R                  " U=(       d    SU R                  5       US9nXeS'   [         R                  " U/U Vs/ s H"  n[        R
                  R                  Xg5      PM$     snQ70 UD6nU$ s  snf )Nno_tabler   _table)r1   r   r0   r   r   r   _textual_index_column)	r(   r/   	tablenamer8   r   rS   r9   r7   idxs	            r)   r   SchemaObjects.index   s     OO#MMO

 8oo
DKLGqd44Q:GL
 

 
 Ms   )A<
c                v    SU;   a-  UR                  S5      nSR                  USS 5      nUS   nX44$ UnS nX44$ )Nr>   r   )splitrp   )r(   	table_keytokenssnamerN   s        r)   _parse_table_keySchemaObjects._parse_table_key  sS    )__S)F#&88F1RL#9E2JE ~ EE~r,   c                   [        UR                  [        5      (       a  UR                  R                  SS5      u  p4U R	                  U5      u  pVX1R
                  ;  a  [        R                  " XaUS9nOUR
                  U   nXGR                  ;  a+  UR                  [        R                  " U[        5      5        ggg)zEcreate a placeholder Table object for the referent of a
ForeignKey.

r>      r   N)r   _colspecstrrsplitr   tablesr1   r   r2   append_columnr   r   )r(   r0   fkr   cnamer   rN   rel_ts           r)   r   "SchemaObjects._ensure_table_for_fk  s    
 bkk3''!{{11#q9I00;LE/!F 	2GG###I$4$4UH$EF $ (r,   r&   r%   )r'   zOptional[MigrationContext]returnNone)
r/   ,Optional[sqla_compat._ConstraintNameDefined]r3   r   r4   Sequence[str]r   Optional[str]r   r   )NNNNNNN)r/   r   rF   r   rG   r   rH   	List[str]rI   r   r@   r   rA   r   rB   zOptional[bool]rJ   r   rK   r   rC   r   r?   r   r   r   )
r/   r   rF   r   rH   r   r   r   r   r   )
r/   r   rF   r   rY   z*Union[str, TextClause, ColumnElement[Any]]r   r   r   zUnion[CheckConstraint])
r/   r   r3   r   rr   r   r   r   r   r   )r   r   )r/   r   r   r   )r/   r   rr   r   r   r   )
r/   r   r   r   r8   z4Sequence[Union[str, TextClause, ColumnElement[Any]]]r   r   r   r   )r   r   r   zTuple[Optional[str], str])r0   r   r   r   r   r   )__name__
__module____qualname____firstlineno__r*   r;   rP   rU   r[   rv   r0   rm   r   r   r   r   __static_attributes__r{   r,   r)   r"   r"   (   s   >B3!;3	3 !%:  	
  
2 #'"&%)'+)-#'#::: : 	:
 : :  :  : #: %: ': !: : 
:B !%:  "	
  
4 !%:  >	
  
 . !%:  	
  
<	(%N3 !% ! F	
  
*Gr,   r"   N)'
__future__r   typingr   r   r   r   r   r	   r
   r   
sqlalchemyr   r1   sqlalchemy.sql.schemar   r   r   sqlalchemy.typesr   r   rc   r   r   sqlalchemy.sql.elementsr   r   r   r   r   r   r   r   r   sqlalchemy.sql.type_apir   runtime.migrationr    r"   r{   r,   r)   <module>r      sl    #          * ( , ' $ %  5250:.:+624zG zGr,   