Изглежда като MySQL 5.7 е по-строг по отношение на типовете геометрия от MySQL 5.6 . Като такива данни, които са били валидни в 5.6 вече е невалиден в 5.7 .
Това беше корекцията на MySQL грешка #76337 , във версия MySQL 5.7.8 .
В този случай, LINESTRING се съхраняваше в колона от тип POINT . Това работеше близо десетилетие, но не повече. Промяна на колоната за тип LINESTRING поправи горната грешка при зареждане.
-- The Fix - run on MySQL 5.6 database before Upgrade/Export
ALTER TABLE routes MODIFY COLUMN route_path LINESTRING;
Други режими на отказ
Този бъг се проявява и в геометрични колони, където те успяха да запазят NULL геометрии (но не са официално NULL). MySQL IS NULL би казал не null, а asText( myGeo ) върна NULL под MySQL 5.7 . Експортирането им в низ в MySQL 5.6 върна '' , празен низ. Така '' изходът за геометрия от 5.6 беше и невалиден вход за 5.7.
Поправката беше тези да бъдат нулирани.
-- Convert NULL geometries to actual NULL's
UPDATE myTable SET myGeo = NULL WHERE asText(myGeo) IS NULL;