MySQL 8 Support for GeoDjango

MySQL 8 greatly expands GIS support compared to 5.7 but GeoDjango doesn’t currently seem to support any of those improvements. This makes it very difficult to use it for anything other than simple SRID0 calculations. I would like to work on improving support for MySQL 8, but I haven’t contributed to Django yet and would love some help from people more knowledgable in the Django & GeoDjango codebases to make sure I’m on the right track for these changes.

Here are some initial small tasks I was thinking of working on:

  • Add a MySQLSpatialRefSys model to match the one that exists for PostGIS for accessing SRS data from MySQL’s information DB
  • Improve introspection to use the information_scheme.columns table to access SRID information on each column
  • Update DatabaseFeatures to indicate additional support if MySQL 8 is detected

Any ideas on those or where to go from there would be appreciated.

I see you opened a new ticket (#33120 (Add OGC-compliant models for GeoDjango running on MySQL 8.0) – Django). You are probably on the good track :slight_smile: