Disponible con una licencia Standard o Advanced.
Para la replicación bidireccional y unidireccional, durante la sincronización se aplican los mismos filtros y las mismas reglas de clase de relación utilizados en la creación de réplicas. Al determinar los cambios que se van a enviar, se evalúan todas las ediciones de cada dataset de la réplica que se hayan aplicado desde la última sincronización. Si una edición satisface los filtros de la réplica, se sincroniza.
Nota:
Para las réplicas checkout/check-in, se sincronizan todas las ediciones realizadas en la réplica secundaria. Por consiguiente, las siguientes reglas, salvo las de la sección de mantenimiento de relaciones, no se aplican a las réplicas de check-out/check-in.
La imagen que aparece a continuación describe cómo se aplica el filtro de área de réplica durante la sincronización al mover entidades en una sesión de edición. Las ediciones siguientes se envían a la réplica relativa durante la sincronización:
- Una entidad se mueve a una nueva ubicación dentro del área de réplica.
- Una entidad se mueve del interior al exterior del área de réplica. La nueva ubicación de la entidad se actualiza en la réplica relativa durante la sincronización, aunque quede fuera del área de réplica.
Nota:
Para que se envíe la edición, la entidad debe de haber existido dentro del filtro de la réplica en el momento de la sincronización anterior. Por ejemplo, si inserta una entidad, la mueve hacia fuera y, a continuación, sincroniza con la réplica relativa, estos cambios no se envían.
- Una entidad se mueve del exterior al interior del área de réplica.
- Cuando se mueve una entidad que no está dentro del área de réplica, no se actualiza en la réplica relativa durante la sincronización.
Si una edición no satisface los filtros, todavía se puede sincronizar si cumple los siguientes criterios:
- Pertenece a un dataset con un filtro de solo esquema, y está implicada en al menos una clase de relación.
- También satisface una de las siguientes condiciones:
- Está relacionada con una fila de otro dataset que satisface los filtros. La fila con la que está relacionada no tiene que haber sido editada desde la última sincronización.
- Está en un dataset que está relacionado con un dataset con un filtro de solo esquema.
Esto significa que las filas de las clases de entidad o las tablas con filtros que no son de solo esquema solo se pueden sincronizar si cumplen los criterios de filtro.
Estas reglas también permiten el encadenamiento de datos relacionados. Esto puede ocurrir cuando, mediante clases de relación, se puede realizar el seguimiento de una fila de una clase de destino distante, a través de varias relaciones, hasta su origen en la réplica.
Mantener relaciones
La sincronización mantiene las relaciones. Por ejemplo, si se agrega una nueva relación en la réplica relativa, se mantiene cuando se sincronizan las filas implicadas. Mantener la relación puede requerir que se cambie el valor de la clave externa en la réplica que recibe los cambios, si la clave de origen es el campo ObjectID.
En los siguientes ejemplos se describe el comportamiento de registros relacionados durante la sincronización:
Ejemplo
En este ejemplo, se seleccionan tres edificios para la replicación mediante una consulta de definición. Dado que hay registros relacionados incluidos en el proceso de creación de la réplica, la clase de destino relacionada también se replica. Los campos de la clase de destino relacionados con las entidades de origen se editan en la réplica secundaria. Cuando se sincronizan las réplicas, estas ediciones se actualiza en la clase de destino relacionada en la réplica primaria.
Ejemplo uno
En este primer ejemplo, se seleccionaron para la replicación algunas entidades de una clase de origen, edificios. Los edificios se relacionan a través de una clase de relación simple con registros de atributo de una tabla que se excluyeron de la replicación. Durante la edición de la réplica secundaria, se eliminó un edificio. Al realizar la sincronización, para anular la relación con la entidad que se eliminó, la entrada correspondiente del campo de clave externa de la clase de destino relacionada, la tabla, se establece en NULL.
Este comportamiento de sincronización también puede producir la eliminación de filas que representan relaciones en una tabla de clase de relación con atributos (como se ve en el ejemplo siguiente).
Ejemplo dos
En este ejemplo, la relación entre la clase de entidad del origen y la tabla de clase de destino tiene atributos, lo que significa que la propia relación tiene una tabla asociada. Tanto la relación como la clase de destino se excluyeron del proceso de creación de la réplica. Las ediciones realizadas en la clase de entidad de origen en la réplica secundaria provocaron la eliminación de una entidad. Al realizar la sincronización, se elimina la fila de la tabla de clase de relación con atributos que representa la relación de esta entidad con un objeto de la clase de destino.
Al realizar la sincronización solo se eliminan relaciones; los propios objetos relacionados nunca se eliminan.