
    +h                          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 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  G d de	e      Z G d de	e      Zy)    )
BigInteger)Column)Integer)MetaData)Table)in_   )AutogenFixtureTest   )testing)config)eq_)is_)TestBasec                      e Zd ZdZ ej
                  dd      ej                  j                  d               Z	 ej
                  dd      ej                  j                  d               Z
 ej
                  dd      ej                  j                  d               Z ej
                  dd      ej                  j                  d               Zd
d	Zy)AlterColumnTestT)T)Fc           
          t               }t               }t        d|t        dt        |             t        d|t        dt        d|             | j	                  |||      }t        |j                  d       y )Naxprimary_keycommentr   )r   r   r   r   _assert_alter_colr   modify_commentselfpkm1m2	alter_cols        [/var/www/html/venv/lib/python3.12/site-packages/alembic/testing/suite/test_autogen_diffs.pytest_all_existings_filledz)AlterColumnTest.test_all_existings_filled   sb     ZZc2vc7;<c2vc7CRHI**2r26	I$$c*    c                     t               }t               }t        d|t        dt        d|             t        d|t        dt        dd|             | j	                  |||d       y )Nr   r   F)nullabler   )r&   r   r   r&   )r   r   r   r   r   )r   r   r   r    s       r"   $test_all_existings_filled_in_notnullz4AlterColumnTest.test_all_existings_filled_in_notnull   s`     ZZc2vc7UKL3%"M	
 	r2rE:r$   c           
          t               }t               }t        d|t        dt        d|             t        d|t        dt        d|             | j	                  |||      }t        |j                  d       y )Nr   r   oldr   new)r   r   r   r   r   r   existing_commentr   s        r"   $test_all_existings_filled_in_commentz4AlterColumnTest.test_all_existings_filled_in_comment.   sd     ZZc2vc7ErJKc2vc7ErJK**2r26	I&&.r$   c                     t               }t               }t        d|t        dt        d|             t        d|t        dt        dd|             | j	                  |||      }t        d|j                  j                  j                         y )Nr   r   5)server_defaultr   r+   )r0   r   r   )	r   r   r   r   r   r   existing_server_defaultargtextr   s        r"   +test_all_existings_filled_in_server_defaultz;AlterColumnTest.test_all_existings_filled_in_server_default:   s     ZZVC"M	
 	WS%R	
 **2r26	C2266;;<r$   Nc                    | j                  ||d      }|j                  d   }|j                  d   }|t        |j                  |        nt        |j                  |       |j                  j                  t                     sJ |S )NT
return_opsr   )_fixtureopsr   existing_nullableexisting_type_compare_type_affinityr   )r   r   r    r   r&   r:   modify_tabler!   s           r"   r   z!AlterColumnTest._assert_alter_colN   s}    mmBtm4wwr{ $$Q'		++V4	++X6&&==giHHHr$   )N)__name__
__module____qualname____backend__r   combinationsr   requirementscommentsr#   r(   r-   r4   r    r$   r"   r   r      s    KW'8,!!+ " -+ W'8,!!; " -; W'8,!!/ " -/ W'8,!!= " -=$
r$   r   c                       e Zd ZdZdZd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zej                  j                   d        Zy)AutoincrementTestT)integer_subtype_comparisonsc           	         t               }t               }t        d|t        dt        d             t        d|t        dt        d             | j	                  ||d      }d|j
                  d   j
                  d   j                  vsJ y )	Nr   r   Fr'   Tr6   autoincrementr   )r   r   r   r   r9   r:   kwr   r   r    r:   s       r"   $test_alter_column_autoincrement_nonez6AutoincrementTest.test_alter_column_autoincrement_none_   ss    ZZc2vc7U;<c2vc7T:;mmBtm4cggajnnQ&7&:&::::r$   c           
      2   t               }t               }t        d|t        dt        dd             t        d|t        dt        dd             | j                  ||d      }t        |j                  d   j                  d   j                  d   d       y )	Nr   r   TFr   rK   r6   r   rK   	r   r   r   r   r   r9   r   r:   rL   rM   s       r"   (test_alter_column_autoincrement_pk_falsez:AutoincrementTest.test_alter_column_autoincrement_pk_falsei   s    ZZ3TG	

 	3
EJ	
 mmBtm4CGGAJNN1  159r$   c           	      .   t               }t               }t        d|t        dt        d             t        d|t        dt        d             | j                  ||d      }t        |j                  d   j                  d   j                  d   d       y )Nr   r   Tr   r6   r   rK   rQ   rM   s       r"   0test_alter_column_autoincrement_pk_implicit_truezBAutoincrementTest.test_alter_column_autoincrement_pk_implicit_true{   st    ZZc2vc7=>c2vc:4@AmmBtm4CGGAJNN1  148r$   c           
      2   t               }t               }t        d|t        dt        dd             t        d|t        dt        dd             | j                  ||d      }t        |j                  d   j                  d   j                  d   d       y )Nr   r   TrP   r6   r   rK   rQ   rM   s       r"   0test_alter_column_autoincrement_pk_explicit_truezBAutoincrementTest.test_alter_column_autoincrement_pk_explicit_true   s    ZZVCd$O	
 	3
DI	
 mmBtm4CGGAJNN1  148r$   c           
      r   t               }t               }t        d|t        dt        d      t        dt        d             t        d|t        dt        d      t        dt        d             | j                  ||d      }t        |j                  d	   j                  d	   j                  d
   d       y )Nr   idTr   r   FrK   r6   r   rK   rQ   rM   s       r"   +test_alter_column_autoincrement_nonpk_falsez=AutoincrementTest.test_alter_column_autoincrement_nonpk_false   s    ZZ4d33u5		
 	4d33
%8		
 mmBtm4CGGAJNN1  159r$   c           	      X   t               }t               }t        d|t        dt        d      t        dt                     t        d|t        dt        d      t        dt                     | j                  ||d      }d|j                  d   j                  d   j                  vsJ y 	Nr   rX   Tr   r   r6   rK   r   r   r   r   r   r   r9   r:   rL   rM   s       r"   4test_alter_column_autoincrement_nonpk_implicit_falsezFAutoincrementTest.test_alter_column_autoincrement_nonpk_implicit_false   s    ZZ4d33 		
 	4d33
#		
 mmBtm4cggajnnQ&7&:&::::r$   c           
      v   t               }t               }t        d|t        dt        dd      t        dt        d             t        d|t        dt        dd      t        dt        d             | j                  ||d      }t        |j                  d	   j                  d	   j                  d
   d       y )Nr   rX   TFrP   r   rY   r6   r   rK   rQ   rM   s       r"   3test_alter_column_autoincrement_nonpk_explicit_truezEAutoincrementTest.test_alter_column_autoincrement_nonpk_explicit_true   s    ZZ4d%H3t4		
 	4d%H3
$7		
 mmBtm4CGGAJNN1  148r$   c                 v   t               }t               }t        d|t        dt        d      t        dt        dd             t        d|t        dt        d      t        dt        dd             | j                  ||d      }t        |j                  d	   j                  d	   j                  d
   d       y )Nr   rX   Tr   r   FrP   r6   r   rK   rQ   rM   s       r"   1test_alter_column_autoincrement_compositepk_falsezCAutoincrementTest.test_alter_column_autoincrement_compositepk_false   s    ZZ4d33TG		
 	4d33
EJ		
 mmBtm4CGGAJNN1  159r$   c           
      `   t               }t               }t        d|t        dt        d      t        dt        d             t        d|t        dt        d      t        dt        d             | j                  ||d      }d|j                  d   j                  d   j                  vsJ y r\   r]   rM   s       r"   :test_alter_column_autoincrement_compositepk_implicit_falsezLAutoincrementTest.test_alter_column_autoincrement_compositepk_implicit_false   s    ZZ4d33T2		
 	4d33
5		
 mmBtm4cggajnnQ&7&:&::::r$   c                 ~   t               }t               }t        d|t        dt        dd      t        dt        dd      d       t        d|t        dt        dd      t        dt        dd             | j                  ||d	      }t        |j                  d
   j                  d
   j                  d   d       y )Nr   rX   TFrP   r   InnoDB)mysql_enginer6   r   rK   rQ   rM   s       r"   9test_alter_column_autoincrement_compositepk_explicit_truezKAutoincrementTest.test_alter_column_autoincrement_compositepk_explicit_true   s    ZZ4d%H3TF
 "
	
 	4d%H3
DI		
 mmBtm4CGGAJNN1  148r$   N)r?   r@   rA   rB   __requires__rN   rR   rT   rV   rZ   r^   r`   rb   rd   r   rD   autoincrement_on_composite_pkrh   rF   r$   r"   rH   rH   [   sY    K3L;:$99 :(;(9(:(;( 669 79r$   rH   N)
sqlalchemyr   r   r   r   r   sqlalchemy.testingr   _autogen_fixturesr
    r   r   r   r   r   r   rH   rF   r$   r"   <module>ro      sL    !     " 1     H(( HVv9*H v9r$   