Parece
MySQL 5.7
é mais estrito em tipos de geometria do que MySQL 5.6
. Assim, os dados que eram válidos em 5.6 agora é inválido em 5.7 . Esta foi a correção para MySQL Bug #76337 , na versão MySQL 5.7.8 .
Nesse caso, um
LINESTRING
estava sendo armazenado em uma coluna do tipo POINT
. Isso funcionou por quase uma década, mas não mais. Alterando a coluna para digitar LINESTRING
corrigiu o erro de carregamento acima. -- The Fix - run on MySQL 5.6 database before Upgrade/Export
ALTER TABLE routes MODIFY COLUMN route_path LINESTRING;
Outros modos de falha
Este bug também se manifesta em colunas geométricas onde elas foram capazes de persistir geometrias NULL (mas não sendo oficialmente NULL). MySQL
IS NULL
não diria nulo, mas asText( myGeo )
retornou NULL
em MySQL 5.7 . Exportando-os para uma string no MySQL 5.6 retornou ''
, cadeia vazia. Assim, o ''
a saída de geometria de 5.6 era e entrada inválida para 5.7. A correção foi anular isso.
-- Convert NULL geometries to actual NULL's
UPDATE myTable SET myGeo = NULL WHERE asText(myGeo) IS NULL;