Guía de migración: 9.8.2 → 9.8.3
La versión 9.8.3 corrige el tratamiento de los valores null en las consultas del ORM. También incluye limpieza interna del código y mejoras de seguridad para reducir el riesgo de inyecciones SQL.
Resumen
Añadido
- Esta guía de migración.
Modificado
- Las condiciones del ORM con un valor
nullahora generanIS NULLen lugar de= null. - Limpieza interna del código y mejoras de seguridad para reducir el riesgo de inyecciones SQL.
Eliminado
- No se ha eliminado nada.
Impacto en proyectos existentes
- No es necesario cambiar las llamadas existentes a
where. - Las consultas con condiciones
nullahora encuentran correctamente las filas en las que la columna tiene el valorNULL. Los resultados podrían diferir de los de la versión 9.8.2 si la aplicación dependía del comportamiento incorrecto anterior. - No se requieren cambios de configuración.
- No se requieren cambios en la base de datos.
- No se requieren cambios en la CLI.
Por ejemplo, esta condición del ORM:
$list = Tag::where(['id_parent' => null]);
Antes generaba una consulta SQL equivalente a:
SELECT * FROM `tag` WHERE `id_parent` = null;
A partir de la versión 9.8.3, genera:
SELECT * FROM `tag` WHERE `id_parent` IS NULL;
Objetivo de esta actualización
Esta versión tiene como objetivo:
- Corregir la generación de consultas del ORM para los valores
null. - Mejorar la calidad interna del código y reducir el riesgo de inyecciones SQL.
Compatibilidad con versiones anteriores
La API del ORM sigue siendo compatible. El comportamiento de las consultas con condiciones null cambia para que encuentren correctamente los valores SQL NULL. Revisa cualquier solución provisional específica de la aplicación que hayas añadido para compensar el comportamiento anterior.
Acción requerida por el desarrollador
En aplicaciones típicas no se requiere ninguna acción. Si tu aplicación incluye una solución provisional para el comportamiento anterior de las consultas con null, revísala después de actualizar.
Notas
No se requiere ninguna migración de la base de datos.