El SDK de dispositivos Atlas para Flutter versión 2.0.0 presenta varios cambios importantes que afectan a las aplicaciones existentes que se actualizan desde una versión anterior.
En particular, esta versión del SDK:
Se modifica el generador de componentes y la forma en que el SDK genera archivos para las clases del modelo de datos. Este cambio afecta a todas las aplicaciones que se actualizan desde una versión anterior del SDK. Consulte la SecciónCambios del constructor en esta página para obtener información e instrucciones.
Elimina o reemplaza varias clases y miembros. Estos cambios pueden afectar o no a tu aplicación. Consulta la sección "Clases y miembros eliminados" en esta página para obtener información e instrucciones sobre las aplicaciones afectadas.
Builder Changes
Importante
Este cambio afecta a todas las aplicaciones que actualizan desde una versión anterior del SDK.
La versión 2.0.0 del SDK de Flutter actualiza el SDK realm_generator Para usar un PartBuilder en lugar de un SharedPartBuilder. Este generador actualizado genera archivos de modelo de datos RealmModel con una nueva extensión de archivo .realm.dart:
Versión | Extensión de archivo | Ejemplo de Directiva de Parte | |
|---|---|---|---|
SDK v2.0.0 y posteriores |
| | |
SDK v1.9.0 and earlier |
| |
Tip
La actualización de SharedPartBuilder a PartBuilder facilita el uso de múltiples desarrolladores en la aplicación. Por ejemplo, combinando realm_dart con un constructor de paquetes de serialización como dart_mappable o json_serializable.
¿Qué necesito hacer?
Cuando actualices una aplicación existente de una versión anterior del Flutter SDK a la versión 2.0.0 o posterior, debes actualizar cualquier declaración de partes existente y luego regenerar los Modelos de objeto con la nueva extensión de archivo .realm.dart:
Update Your Existing Part Declarations
Actualice todas las declaraciones de la parte RealmObject en su aplicación para usar la nueva convención de nomenclatura:
import 'package:realm_dart/realm.dart'; // Update existing declaration from .g.dart to .realm.dart // part 'car.g.dart'; part 'car.realm.dart'; () class _Car { () late ObjectId id; late String make; late String? model; late int? miles; }
Regenerar sus modelos de objetos
Después de que actualices todas tus declaraciones, regenera tus modelos de objetos con la nueva extensión de archivo .realm.dart. Puedes borrar de forma segura cualquier archivo .g.dart de tu proyecto.
dart run realm generate
Después de que actualices todas tus declaraciones, regenera tus modelos de objetos con la nueva extensión de archivo .realm.dart. Puedes borrar de forma segura cualquier archivo .g.dart de tu proyecto.
dart run realm_dart generate
Removed Classes and Members
La versión 2.0.0 del SDK de Flutter también eliminó o reemplazó varias clases, miembros y propiedades. Estos cambios pueden afectar o no a tu aplicación.
The following table outlines what was removed and why, as well as a recommended solution when upgrading an app that used the removed class or member, if any:
Clase o nodo eliminado | Razón | Solución |
|---|---|---|
| Unused in SDK. | Eliminar cualquier instancia. |
| No es necesario. Siempre | Eliminar cualquier instancia. |
| Consolidated into | Utilice |
| Replaced by | Reemplaza todas las instancias. Consulta también Registro - SDK de Flutter. |
| Replaced by | Reemplace cualquier instancia. |
| Cambiado a un enum de | Replace any instances. See also RealmValue Data Type. |
| Renombrado a | Replace any instances. See also RealmValue Data Type. |
|
| Replace any instances. See also the SchemaObject API reference. |
| El SDK solo debe crear errores de sincronización de forma interna. | Eliminar cualquier instancia. |
| Consolidated into | Use |
| Consolidated into | Utiliza la enumeración |
| Consolidado en | Remove any category or message instances. Replace |
| Reported transferred and transferable values were incorrect. Consolidated into a new | Utiliza |
| Provider is associated with each identity, so value was incorrect for users with more than one identity. | Eliminar cualquier instancia. |