Docs Menu
Docs Home

Actualización de Mongoid

Mongoid proporciona una ruta de actualización estable para que los usuarios migren a nuevas versiones.

Each Mongoid release has a version number in major.minor.patch format. Beginning in Mongoid 7.4, Mongoid uses Semantic Versioning (SemVer), que normalmente significa:

  • Los cambios disruptivos, la activación de nuevas funcionalidades y la eliminación de funcionalidades obsoletas sólo se realizarán en lanzamientos de versiones principales.

  • Se añadirán nuevas funciones mediante indicadores de características, que deben habilitarse mediante un cambio de configuración opcional. Estos indicadores de características pueden añadirse en versiones principales o secundarias.

  • La funcionalidad puede marcarse como obsoleta en versiones principales o secundarias, pero no se eliminará hasta la próxima versión principal, como mínimo.

  • Las versiones de parche solo contendrán correcciones no disruptivas y actualizaciones de seguridad.

Advertencia

Mongoid 7.3 y versiones anteriores no cumplen estrictamente con SemVer y pueden contener cambios importantes incluso en versiones menores. Se recomienda a los usuarios extremar las precauciones al actualizar a estas versiones.

  • Cobertura de pruebas: La mejor manera de asegurar que su aplicación siga funcionando tras la actualización es tener una buena cobertura de pruebas antes de iniciar el proceso.

  • Actualizar Ruby y Rails: Consulta "Actualizando Ruby on Rails" para obtener más información

A continuación se describe nuestro procedimiento recomendado para actualizar a una nueva versión de Mongoid:

  1. Actualice a cada versión menor individualmente.

    Por ejemplo, si está actualizando de Mongoid 7.4 a 8.1, le recomendamos que siga este procedimiento para la última versión del parche de cada versión secundaria, por ejemplo, primero a 7.5.x, luego a 8.0.x y, finalmente, a 8.1.x.

  2. Antes de actualizar, asegúrese de tener load_defaults configurado en su versión actual.

    Si aún no ha habilitado el último comportamiento en su versión actual, debe hacerlo antes de actualizar.

  3. Revisar el Release Notes carefully when upgrading.

  4. Pruebe su aplicación en la nueva versión.

    Su aplicación debe probarse y publicarse "tal cual" en la nueva versión de Mongoid _sin_ ajustar load_defaults ni ningún indicador de características.

  5. Una vez que se confirme la estabilidad del paso 4, configure load_defaults con la nueva versión para habilitar la nueva funcionalidad. Corrija también cualquier advertencia de obsolescencia en este momento.

    También puedes habilitar nuevas funcionalidades una por una usando indicadores de características.

Al introducir una bandera de función, esta tendrá un valor predeterminado que conserva la funcionalidad anterior (heredada). En este momento, se recomienda a los usuarios configurar manualmente la bandera con su nuevo valor para probar la nueva funcionalidad.

En la próxima versión principal, el valor predeterminado de la bandera se invertirá para habilitar la nueva funcionalidad. En ese momento, la bandera se marcará como obsoleta. Finalmente, la bandera obsoleta se eliminará por completo de la configuración en una versión principal posterior.

Las características se agregan para facilitar la actualización, pero no están pensadas para que se las admita de manera perpetua.

Mongoid puede desaprobar características, funcionalidades, métodos, constantes, etc., ocasionalmente. Para ello, puede tomar una o más de las siguientes medidas:

  • Marque el código relevante @deprecated en un comentario de código.

  • Agregue una advertencia de registro si se utiliza la funcionalidad obsoleta.

  • Informar sobre la desuso en las Notas de la versión.

Luego, Mongoid podría eliminar la funcionalidad obsoleta en la próxima versión principal.

Los métodos que están marcados con @api private se pueden eliminar sin que queden obsoletos, incluso si dichos métodos son public en Ruby.

En esta página