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 a28a86d551..80405da719 100644 --- a/docs/releases/1.7.2.txt +++ b/docs/releases/1.7.2.txt @@ -24,3 +24,6 @@ Bugfixes * Fixed a :djadmin:`makemessages` regression in 1.7.1 when :setting:`STATIC_ROOT` has the default ``None`` value (:ticket:`23717`). + +* Fixed MySQL 5.6+ crash with ``GeometryField``\s in migrations + (:ticket:`23719`).