
    Zi                    0   d dl mZ d dl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 er*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  ej0                  e      Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddZy)    )annotationsN)Any)Optional)TYPE_CHECKING)Union   )ops)PriorityDispatchResult)quoted_name)Column)Table   )AutogenContext)AlterColumnOp)ModifyTableOps)Pluginc                V   | j                   J | j                   j                  st        j                  S |j                  }|j                  }||t        j                  S ||_        ||k7  r.||_        t        j                  d||       t        j                  S t        j                  S )NzDetected column comment '%s.%s')
dialectsupports_commentsr
   CONTINUEcommentexisting_commentmodify_commentloginfoSTOP)	autogen_contextalter_column_opschematnamecnameconn_colmetadata_colmetadata_commentconn_col_comments	            a/home/portmadness/app/.venv/lib/python3.12/site-packages/alembic/autogenerate/compare/comments.py_compare_column_commentr'      s     ""...""44%...#++''$4$<%...'7O$++)9&2E5A%***%...    c                   | j                   J | j                   j                  st        j                  S ||t        j                  S |j                  |j                  t        j                  S |j                  W|j                  K|j
                  j                  t        j                  ||j                  |             t        j                  S |j                  |j                  k7  rV|j
                  j                  t        j                  ||j                  |j                  |             t        j                  S t        j                  S )N)r   r   )
r   r   r
   r   r   r	   appendDropTableCommentOpr   CreateTableCommentOp)r   modify_table_opsr   r    
conn_tablemetadata_tables         r&   _compare_table_commentr0   7   s)    ""...""44%... ^3%...!n&<&<&D%...%**<*<*H##""
(:(:6	

 &***			:#5#5	5##$$&&!+!3!3		
 &***!***r(   c                `    | j                  t        dd       | j                  t        dd       y )Ncolumncommentstable)add_autogenerate_comparatorr'   r0   )plugins    r&   setupr7   `   s2    
&&
 &&r(   )r   r   r   r   r   Optional[str]r    Union[quoted_name, str]r!   r   r"   Column[Any]r#   r:   returnr
   )r   r   r-   r   r   r8   r    r9   r.   Optional[Table]r/   r<   r;   r
   )r6   r   r;   None)
__future__r   loggingtypingr   r   r   r   
operationsr	   utilr
   sqlalchemy.sql.elementsr   sqlalchemy.sql.schemar   r   apir   operations.opsr   r   runtime.pluginsr   	getLogger__name__r   r'   r0   r7    r(   r&   <module>rK      s    "        *3,+$/0)g!/#/"/ / #	/
 / / / /:&+#&+$&+ &+ #	&+
  &+ $&+ &+R
r(   