
    Evg                     F    d dl mZ d dlmZ d dlmZ  G d de          ZdS )    )checks)BaseDatabaseValidation)get_docs_versionc                   *     e Zd Z fdZd Zd Z xZS )DatabaseValidationc                 z     t                      j        di |}|                     | j        di |           |S )N )supercheckextend_check_sql_mode)selfkwargsissues	__class__s      `/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/django/db/backends/mysql/validation.pyr   zDatabaseValidation.check   sI    ((((*d*44V44555    c           	          | j         j        ddhz  s\t          j        | j         j        d| j         j        d| j         j        d| j         j        dt                      dfd	          gS g S )
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   z"DatabaseValidation._check_sql_mode   s    O$(=?R'SS	 333T_5J5J5JL !O888 O888,....
 $!   ( 	r   c           	         g }|                     d          rm|j        rf|j        t          |j                  dk    rG|                    t          j        d| j        j        z  |dt                      z  d                     |j
        r[|                                | j        j        v r;|                    t          j        | j        j        d|d	d
|d                     |S )a  
        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.
        varcharN   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_typez#DatabaseValidation.check_field_type&   s     !!),,		 !)S1A-B-BS-H-HMM#;<<>N>P>PQ $	 	 	   > 	j..00DO4WWWMM333ZZZA3 $	 	 	   r   )__name__
__module____qualname__r   r   r.   __classcell__)r   s   @r   r   r      sV            
  4' ' ' ' ' ' 'r   r   N)django.corer   "django.db.backends.base.validationr   django.utils.versionr   r   r	   r   r   <module>r6      sz          E E E E E E 1 1 1 1 1 1G G G G G/ G G G G Gr   