
    h                     >    S SK Jr  S SKJr  S SKJr   " S S\5      rg)    )checks)BaseDatabaseValidation)get_docs_versionc                   4   ^  \ rS rSrU 4S jrS rS rSrU =r$ )DatabaseValidation   c                 j   > [         TU ]  " S0 UD6nUR                  U R                  " S0 UD65        U$ )N )supercheckextend_check_sql_mode)selfkwargsissues	__class__s      U/var/www/html/env/lib/python3.13/site-packages/django/db/backends/mysql/validation.pyr   DatabaseValidation.check   s3    ((d**4V45    c           	      N   U R                   R                  SS1-  (       d  [        R                  " U R                   R                  < SU R                   R
                  < S3U R                   R                  < SU R                   R                  < S[        5       < S34SS	9/$ / $ )
NSTRICT_TRANS_TABLESSTRICT_ALL_TABLESz1 Strict Mode is not set for database connection ''z5's Strict Mode fixes many data integrity problems in z, such as data truncation upon insertion, by escalating warnings into errors. It is strongly recommended you activate it. See: https://docs.djangoproject.com/en/z/ref/databases/#mysql-sql-modez
mysql.W002)hintid)
connectionsql_moder   Warningdisplay_namealiasr   )r   r   s     r   r   "DatabaseValidation._check_sql_mode   s    OO$$(=?R'SS 33T__5J5JL !OO88 OO88,.
 $! ( 	r   c           	      *   / nUR                  S5      (       a  UR                  (       an  UR                  b  [        UR                  5      S:  aH  UR	                  [
        R                  " SU R                  R                  -  US[        5       -  SS95        UR                  (       aj  UR                  5       U R                  R                  ;   aB  UR	                  [
        R                  " U R                  R                  < SU< S3S	US
S95        U$ )z
MySQL has the following field length restriction:
No character (varchar) fields can have a length exceeding 255
characters if they have a unique index on them.
MySQL doesn't support a database index on some data types.
varchar   z>%s may not allow unique CharFields to have a max_length > 255.zOSee: https://docs.djangoproject.com/en/%s/ref/databases/#mysql-character-fieldsz
mysql.W003)objr   r   z& does not support a database index on z	 columns.zKAn index won't be created. Silence this warning if you don't care about it.zfields.W162)r   r%   r   )
startswithunique
max_lengthintappendr   r   r   r   r   db_indexlower_limited_data_types)r   field
field_typeerrorss       r   check_field_type#DatabaseValidation.check_field_type&   s     !!),,!!)S1A1A-BS-HMM#;;<<>N>PQ $	 >>j..0DOO4W4WWMM33ZA3 $	 r   r
   )	__name__
__module____qualname____firstlineno__r   r   r1   __static_attributes____classcell__)r   s   @r   r   r      s    
4' 'r   r   N)django.corer   "django.db.backends.base.validationr   django.utils.versionr   r   r
   r   r   <module>r<      s     E 1G/ Gr   