app/django/db/backends/mysql/validation.py
changeset 323 ff1a9aa48cfd
equal deleted inserted replaced
322:6641e941ef1e 323:ff1a9aa48cfd
       
     1 from django.db.backends import BaseDatabaseValidation
       
     2 
       
     3 class DatabaseValidation(BaseDatabaseValidation):
       
     4     def validate_field(self, errors, opts, f):
       
     5         "Prior to MySQL 5.0.3, character fields could not exceed 255 characters"
       
     6         from django.db import models
       
     7         from django.db import connection
       
     8         db_version = connection.get_server_version()
       
     9         if db_version < (5, 0, 3) and isinstance(f, (models.CharField, models.CommaSeparatedIntegerField, models.SlugField)) and f.max_length > 255:
       
    10             errors.add(opts,
       
    11                 '"%s": %s cannot have a "max_length" greater than 255 when you are using a version of MySQL prior to 5.0.3 (you are using %s).' % 
       
    12                 (f.name, f.__class__.__name__, '.'.join([str(n) for n in db_version[:3]])))
       
    13