
    ]j                    F    d dl mZ d dlZddlmZmZmZmZ  G d de      Zy)    )annotationsN   )BaseAnalyserCheck	CheckMode	CheckTypec                  p    e Zd ZU  edd dej
                  ej                        gZde	d<   e
d	d       Zy)
MySqlAnalyserALTER_COLUMNc                .    t        j                  d|       S )Nz$ALTER TABLE .* MODIFY .* (?!NULL);?$)research)sqlkws     T/root/env/lib/python3.12/site-packages/django_migration_linter/sql_analyser/mysql.py<lambda>zMySqlAnalyser.<lambda>   s    +QSV!W     zOALTERING columns (Could be backward compatible. You may ignore this migration.))codefnmessagemodetypezlist[Check]migration_checksc                   t        | t              rpt        j                  d| t        j                        }|r|j                  d      S t        j                  d| t        j                        }|r|j                  d      S y )NzCOLUMN [`"'](.*?)[`"']r   zMODIFY [`"'](.*?)[`"'])
isinstancestrr   r   
IGNORECASEgroup)r   regex_results     r   detect_columnzMySqlAnalyser.detect_column   se    c399%?bmmTL#))!,,99%?bmmTL#))!,,r   N)r   zlist[str] | strreturnz
str | None)__name__
__module____qualname__r   r   	ONE_LINERr   ERRORr   __annotations__staticmethodr     r   r   r
   r
      sJ    W2 $$		
%k   r   r
   )	
__future__r   r   baser   r   r   r   r
   r)   r   r   <module>r,      s    " 	 ; ;L r   