diff --git a/django/contrib/gis/db/backends/mysql/schema.py b/django/contrib/gis/db/backends/mysql/schema.py index 3979182c19..4d708686ba 100644 --- a/django/contrib/gis/db/backends/mysql/schema.py +++ b/django/contrib/gis/db/backends/mysql/schema.py @@ -15,6 +15,13 @@ class MySQLGISSchemaEditor(DatabaseSchemaEditor): super(MySQLGISSchemaEditor, self).__init__(*args, **kwargs) self.geometry_sql = [] + def skip_default(self, field): + return ( + super(MySQLGISSchemaEditor, self).skip_default(field) or + # Geometry fields are stored as BLOB/TEXT and can't have defaults. + isinstance(field, GeometryField) + ) + def column_sql(self, model, field, include_default=False): column_sql = super(MySQLGISSchemaEditor, self).column_sql(model, field, include_default) # MySQL doesn't support spatial indexes on NULL columns diff --git a/docs/releases/1.7.2.txt b/docs/releases/1.7.2.txt index 2736f5ec24..db65ec1885 100644 --- a/docs/releases/1.7.2.txt +++ b/docs/releases/1.7.2.txt @@ -26,3 +26,6 @@ Bugfixes :setting:`STATIC_ROOT` has the default ``None`` value (:ticket:`23717`). * Added GeoDjango compatibility with mysqlclient database driver. + +* Fixed MySQL 5.6+ crash with ``GeometryField``\s in migrations + (:ticket:`23719`).