
    g<&                    ^   S SK J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  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  \(       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#  SSK$J%r%  SSKJ&r&  SSKJ'r'  \SSS \(4   r) " S! S"\5      r* " S# S$\*5      r+ " S% S&\*5      r, " S' S(\,5      r- " S) S*\,5      r. " S+ S,\,5      r/ " S- S.\,5      r0 " S/ S0\,5      r1 " S1 S2\,5      r2 " S3 S4\*5      r3 " S5 S6\*5      r4 " S7 S8\,5      r5\" \+5            SKS9 j5       r6\" \35      SLS: j5       r7\" \45      SMS; j5       r8\" \-5            SNS< j5       r9\" \.5      SOS= j5       r:\" \/5      SPS> j5       r;\" \05            SQS? j5       r<\" \15          SRS@ j5       r=\" \25          SSSA j5       r>      STSB jr?        SUSC jr@      SVSD jrA      SWSE jrBSXSF jrC        SYSG jrDSZSH jrESZSI jrFS[SJ jrGg)\    )annotationsN)Optional)TYPE_CHECKING)Union)exc)Integer)types)compiles)Column)
DDLElement)quoted_name   )_columns_for_constraint)_find_columns)_fk_spec)_is_type_bound)_table_for_constraint)Any)Compiled)DDLCompiler)
TextClause)Function)FetchedValue)
TypeEngine   )DefaultImpl)Computed)Identityr   r   zFunction[Any]c                  2    \ rS rSrSr S     SS jjrSrg)
AlterTable*   zRepresent an ALTER TABLE statement.

Only the string name and optional schema name of the table
is required, not a full Table object.

Nc                    Xl         X l        g N)
table_nameschema)selfr$   r%   s      X/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/alembic/ddl/base.py__init__AlterTable.__init__2   s    
 %    )r%   r$   r#   )r$   strr%   !Optional[Union[quoted_name, str]]returnNone)__name__
__module____qualname____firstlineno____doc__r(   __static_attributes__ r*   r'   r    r    *   s2     59 2 
	 r*   r    c                  @   ^  \ rS rSr S       SU 4S jjjrSrU =r$ )RenameTable;   c                ,   > [         TU ]  XS9  X l        g N)r%   )superr(   new_table_name)r&   old_table_namer<   r%   	__class__s       r'   r(   RenameTable.__init__<   s     	7,r*   )r<   r#   )r=   r+   r<   Union[quoted_name, str]r%   r,   r-   r.   r/   r0   r1   r2   r(   r4   __classcell__r>   s   @r'   r7   r7   ;   s8    
 59	-- 0- 2	-
 
- -r*   r7   c                  X   ^  \ rS rSr     S               SU 4S jjjrSrU =r$ )AlterColumnF   c                   > [         TU ]  XS9  X l        Ub  [        R                  " U5      OS U l        XPl        X`l        Xpl        g r:   )	r;   r(   column_namesqltypesto_instanceexisting_typeexisting_nullableexisting_server_defaultexisting_comment)	r&   namerH   r%   rK   rL   rM   rN   r>   s	           r'   r(   AlterColumn.__init__G   sR     	-& (   / 	
 "3'>$ 0r*   )rH   rN   rL   rM   rK   )NNNNN)rO   r+   rH   r+   r%   Optional[str]rK   zOptional[TypeEngine]rL   zOptional[bool]rM   Optional[_ServerDefault]rN   rQ   r-   r.   rA   rC   s   @r'   rE   rE   F   sl    
 !%.2,0<@*.11 1 	1
 ,1 *1 ":1 (1 
1 1r*   rE   c                  <   ^  \ rS rSr        SU 4S jjrSrU =r$ )ColumnNullable]   c                4   > [         TU ]  " X40 UD6  X0l        g r#   )r;   r(   nullable)r&   rO   rH   rW   kwr>   s        r'   r(   ColumnNullable.__init__^   s     	1b1 r*   )rW   )rO   r+   rH   r+   rW   boolr-   r.   rA   rC   s   @r'   rT   rT   ]   s-    !!&)!59!	! !r*   rT   c                  <   ^  \ rS rSr        SU 4S jjrSrU =r$ )
ColumnTypee   c                ^   > [         TU ]  " X40 UD6  [        R                  " U5      U l        g r#   )r;   r(   rI   rJ   type_)r&   rO   rH   r_   rX   r>   s        r'   r(   ColumnType.__init__f   s)     	1b1))%0
r*   )r_   )rO   r+   rH   r+   r_   r   r-   r.   rA   rC   s   @r'   r\   r\   e   s-    11&)12<1	1 1r*   r\   c                  <   ^  \ rS rSr        SU 4S jjrSrU =r$ )
ColumnNamem   c                4   > [         TU ]  " X40 UD6  X0l        g r#   )r;   r(   newname)r&   rO   rH   re   rX   r>   s        r'   r(   ColumnName.__init__n        	1b1r*   )re   )rO   r+   rH   r+   re   r+   r-   r.   rA   rC   s   @r'   rb   rb   m   s-    &)47	 r*   rb   c                  <   ^  \ rS rSr        SU 4S jjrSrU =r$ )ColumnDefaultu   c                4   > [         TU ]  " X40 UD6  X0l        g r#   r;   r(   defaultr&   rO   rH   rm   rX   r>   s        r'   r(   ColumnDefault.__init__v   s     	1b1r*   rm   )rO   r+   rH   r+   rm   rR   r-   r.   rA   rC   s   @r'   ri   ri   u   s3      *	 
 r*   ri   c                  <   ^  \ rS rSr        SU 4S jjrSrU =r$ )ComputedColumnDefault   c                4   > [         TU ]  " X40 UD6  X0l        g r#   rl   rn   s        r'   r(   ComputedColumnDefault.__init__   rg   r*   rp   )rO   r+   rH   r+   rm   zOptional[Computed]r-   r.   rA   rC   s   @r'   rr   rr      s-    &)4F	 r*   rr   c                  @   ^  \ rS rSr          SU 4S jjrSrU =r$ )IdentityColumnDefault   c                @   > [         TU ]  " X40 UD6  X0l        X@l        g r#   )r;   r(   rm   impl)r&   rO   rH   rm   rz   rX   r>   s         r'   r(   IdentityColumnDefault.__init__   s!     	1b1	r*   )rm   rz   )
rO   r+   rH   r+   rm   zOptional[Identity]rz   r   r-   r.   rA   rC   s   @r'   rw   rw      s=    

 
 $	

 
 

 
r*   rw   c                  @   ^  \ rS rSr S       SU 4S jjjrSrU =r$ )	AddColumn   c                ,   > [         TU ]  XS9  X l        g r:   r;   r(   columnr&   rO   r   r%   r>   s       r'   r(   AddColumn.__init__   s     	-r*   r   r#   )rO   r+   r   Column[Any]r%   r,   r-   r.   rA   rC   s   @r'   r}   r}      s8    
 59	  2	
 
 r*   r}   c                  @   ^  \ rS rSr S       SU 4S jjjrSrU =r$ )
DropColumn   c                ,   > [         TU ]  XS9  X l        g r:   r   r   s       r'   r(   DropColumn.__init__   s     	-r*   r   r#   )rO   r+   r   r   r%   rQ   r-   r.   rA   rC   s   @r'   r   r      s0    FJ!,6C	 r*   r   c                  <   ^  \ rS rSr        SU 4S jjrSrU =r$ )ColumnComment   c                4   > [         TU ]  " X40 UD6  X0l        g r#   )r;   r(   comment)r&   rO   rH   r   rX   r>   s        r'   r(   ColumnComment.__init__   rg   r*   )r   )rO   r+   rH   r+   r   rQ   r-   r.   rA   rC   s   @r'   r   r      s-    &)4A	 r*   r   c                    [        XR                  U R                  5      < S[        XR                  U R                  5      < 3$ )Nz RENAME TO )alter_tabler$   r%   format_table_namer<   elementcompilerrX   s      r'   visit_rename_tabler      s6    
 	H00'..A($:$:GNNK r*   c                x    [        XR                  U R                  5      < S[        XR                  40 UD6< 3$ N )r   r$   r%   
add_columnr   r   s      r'   visit_add_columnr      s3     	H00'..A8^^2r2 r*   c                    [        XR                  U R                  5      < S[        XR                  R
                  40 UD6< 3$ r   )r   r$   r%   drop_columnr   rO   r   s      r'   visit_drop_columnr      s9     	H00'..AHnn118R8 r*   c                    [        XR                  U R                  5      < S[        XR                  5      < SU R
                  (       a  S< 3$ S< 3$ )Nr   zDROP NOT NULLzSET NOT NULL)r   r$   r%   alter_columnrH   rW   r   s      r'   visit_column_nullabler      sQ    
 	H00'..AX223"++?  2@? r*   c           	         [        XR                  U R                  5      < S[        XR                  5      < SS[        XR                  5      -  < 3$ )Nr   zTYPE %s)r   r$   r%   r   rH   format_typer_   r   s      r'   visit_column_typer      sA     	H00'..AX223K--88 r*   c                    [        XR                  U R                  5      < S[        XR                  5      < S[        XR
                  5      < 3$ )Nz RENAME z TO )r   r$   r%   format_column_namerH   re   r   s      r'   visit_column_namer      s<     	H00'..A8%8%898__5 r*   c           	         [        XR                  U R                  5      < S[        XR                  5      < SU R
                  b  S[        XR
                  5      -  < 3$ S< 3$ )Nr   zSET DEFAULT %szDROP DEFAULT)r   r$   r%   r   rH   rm   format_server_defaultr   s      r'   visit_column_defaultr      si    
 	H00'..AX223 * 4XOO  	    	 r*   c                .    [         R                  " S5      e)NztAdding or removing a "computed" construct, e.g. GENERATED ALWAYS AS, to or from an existing column is not supported.r   CompileErrorr   s      r'   visit_computed_columnr      s     

	E r*   c                .    [         R                  " S5      e)NzAdding, removing or modifying an "identity" construct, e.g. GENERATED AS IDENTITY, to or from an existing column is not supported in this dialect.r   r   s      r'   visit_identity_columnr     s     

	3 r*   c                    [        U [        5      (       a  U" U 5      $ SR                  U R                  S5       Vs/ s H
  o!" U5      PM     sn5      nU$ s  snf )z#quote the elements of a dotted name.)
isinstancer   joinsplit)rO   quotexresults       r'   quote_dottedr     sN    
 $$$T{XXC9AuQx9:FM :s   Ac                    [         R                  " U R                  R                  5      nU(       a  [	        X#5      S-   U" U5      -   $ U" U5      $ )Nr   )	functoolspartialpreparerr   r   )r   rO   r%   r   s       r'   r   r     sF    
 h//556EF*S05;>>T{r*   c                8    U R                   R                  U5      $ r#   )r   r   r   rO   s     r'   r   r   $  s     ""4((r*   c                >    U R                  [        S[        US95      $ )Nr   )server_default)get_column_default_stringr   r   )r   rm   s     r'   r   r   *  s#     --sGG4 r*   c                L    U R                   R                  R                  U5      $ r#   )dialecttype_compilerprocess)r   r_   s     r'   r   r   3  s    ))11%88r*   c                     S[        XU5      -  $ )NzALTER TABLE %s)r   )r   rO   r%   s      r'   r   r   7  s    
 /GGGr*   c                    S[        X5      -  $ )NzDROP COLUMN %sr   )r   rO   rX   s      r'   r   r   ?  s    0@@@r*   c                    S[        X5      -  $ )NzALTER COLUMN %sr   r   s     r'   r   r   C  s    1(AAAr*   c                   ^  ST R                   " U40 UD6-  nSR                  U 4S jUR                   5       5      nU(       a  USU-   -  nU$ )NzADD COLUMN %sr   c              3  F   >#    U  H  nTR                  U5      v   M     g 7fr#   )r   ).0
constraintr   s     r'   	<genexpr>add_column.<locals>.<genexpr>J  s#      7I$$7Is   !)get_column_specificationr   constraints)r   r   rX   textconsts   `    r'   r   r   G  sV    X>>vLLLDHH 7=7I7I E eKr*   )r   r7   r   r   r-   r+   )r   r}   r   r   r-   r+   )r   r   r   r   r-   r+   )r   rT   r   r   r-   r+   )r   r\   r   r   r-   r+   )r   rb   r   r   r-   r+   )r   ri   r   r   r-   r+   )r   rr   r   r   )r   rw   r   r   )rO   r@   r   zfunctools.partialr-   r@   )r   r   rO   r@   r%   r,   r-   r@   )r   r   rO   r,   r-   r@   )r   r   rm   rR   r-   r+   )r   r   r_   r   r-   r+   )r   r   rO   r+   r%   rQ   r-   r+   )r   r   rO   r+   r-   r+   )r   r   r   r   r-   r+   )H
__future__r   r   typingr   r   r   
sqlalchemyr   r   r	   rI   sqlalchemy.ext.compilerr
   sqlalchemy.schemar   r   sqlalchemy.sql.elementsr   util.sqla_compatr   r   r   r   r   r   sqlalchemy.sql.compilerr   r   r   sqlalchemy.sql.functionsr   sqlalchemy.sql.schemar   sqlalchemy.sql.type_apir   rz   r   r   r   r+   _ServerDefaultr    r7   rE   rT   r\   rb   ri   rr   rw   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r5   r*   r'   <module>r      s   #        ( , $ ( / 6 , ' - 4032122!++|^_cIJ "-* -1* 1.![ !1 1 	K 	K K 
  K  
+$/  
)  
*  
.'2  
*  
*  
-&1  

 ".9 ! 

 ".9 !
!*;		
!	 .	 		))!B))% 	9HH
H H 		HAB	r*   