3
gh                 @   s8   d dl mZ d dlmZ d dlmZ G dd deZdS )    )checks)BaseDatabaseValidation)get_docs_versionc                   s,   e Zd Z fddZdd Zdd Z  ZS )DatabaseValidationc                s$   t  jf |}|j| jf | |S )N)supercheckextend_check_sql_mode)selfkwargsZissues)	__class__ a/var/www/tester-filtro-web/env/lib/python3.6/site-packages/django/db/backends/mysql/validation.pyr      s    zDatabaseValidation.checkc             K   sL   | j jddh@ sHtjd| j j| j jf d| j j| j jt f fddgS g S )NZSTRICT_TRANS_TABLESZSTRICT_ALL_TABLESz6%s Strict Mode is not set for database connection '%s'z%s's Strict Mode fixes many data integrity problems in %s, such as data truncation upon insertion, by escalating warnings into errors. It is strongly recommended you activate it. See: https://docs.djangoproject.com/en/%s/ref/databases/#mysql-sql-modez
mysql.W002)hintid)
connectionZsql_moder   Warningdisplay_namealiasr   )r
   r   r   r   r   r	      s    

z"DatabaseValidation._check_sql_modec             C   s   g }|j drR|jrR|jdks,t|jdkrR|jtjd| jj |dt	  dd |j
r|j | jjkr|jtjd| jj|f 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.
        Z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   z3%s does not support a database index on %s 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   Zdb_indexlowerZ_limited_data_types)r
   fieldZ
field_typeerrorsr   r   r   check_field_type!   s(    

z#DatabaseValidation.check_field_type)__name__
__module____qualname__r   r	   r   __classcell__r   r   )r   r   r      s   r   N)Zdjango.corer   Z"django.db.backends.base.validationr   Zdjango.utils.versionr   r   r   r   r   r   <module>   s   