Puedes personalizar los campos al añadir o editar tus reglas de mapeo. Relational Migrator te permite definir campos personalizados mediante Campos calculados, define IDs personalizados usando Personalizar campos de ID, o convierte tus tipos de datos de columnas relacionales de origen en un tipo de dato BSON admitido.
Casos de uso
Puedes usar la personalización de campos para:
Incluya o excluya campos en sus reglas de mapeo.
Cambiar los nombres de los campos.
Incrustar campos secundarios en documentos principales con rutas punteadas. Para más detalles, consulta campos de incrustación.
Personalizar
_idcampos utilizando expresiones de JavaScript.Personaliza un campo utilizando expresiones de JavaScript.
Configurar el comportamiento de la gestión de valores nulos.
Comportamiento
La sección de campos contiene una lista de campos derivados de columnas en la tabla relacional. Las reglas de mapeo incluyen cada columna por defecto. Para excluir un campo de tu tarea de migración, desmarca la casilla. El nombre del campo coincide inicialmente con el nombre de la columna (con la capitalización global aplicada). Para modificar el nombre, edita el cuadro de texto. Puedes hacer clic en el ícono junto a cada campo para revelar opciones adicionales.
El Relational Migrator asigna un tipo de dato predeterminado a tus campos de MongoDB que corresponde más estrechamente con el tipo de dato de la columna de origen.
Puede utilizar el BSON Type menú desplegable para cambiar el tipo de dato del campo MongoDB a un tipo de dato diferente para ajustar tu esquema. Si el tipo elegido no es compatible con los valores de origen, cada campo convertido da lugar a un error durante la tarea de migración. Las tareas de migración continúan hasta que se alcanza el umbral máximo de errores definido por el usuario.
Cuando el tipo BSON seleccionado pueda causar truncamiento o pérdida de precisión en los valores de origen, Relational Migrator muestra un banner de advertencia debajo del campo. Para obtén información sobre estrategias de conversión específicas de Oracle y compensaciones en precisión, consulta la Referencia de conversión de tipos de datos.
Para embedir campos hijos en un documento padre, renombra el campo con el formato
parent.child. Por ejemplo, renombrar el campoproductNameaproduct.nameda como resultado un documento hijo,name, incrustado dentro del documento padre,product. Cualquier campo adicional con el mismo prefijoproduct.también está embebido como hijo.Cambie un tipo de dato relacional de origen a un tipo de dato específico de MongoDB BSON.
Los tipos de datos admitidos para campos convertidos incluyen:
BooleanDateDecimalDoubleIntegerLongString
Para los campos Oracle TIMESTAMP y TIMESTAMP WITH TIME ZONE, el menú desplegable BSON Type muestra opciones adicionales. incluyendo
Long (milliseconds),Long (microseconds),Long (nanoseconds),Date (UTC),Date (Strip Time Zone), yDate and String (Separate fields).Para obtener más detalles, consulta ejemplos de conversión.
Usa Null Handling para especificar el comportamiento de los valores
Null. Puedes omitir estos valores o incluirlos en tus colecciones de destino.Se puede ver la Original name y Original type de un campo. Estos valores corresponden a las columnas relacionales de las que proviene el campo.
Nota
Para los campos calculados, el tipo BSON se muestra inicialmente como Default, lo que significa que el tipo de campo se selecciona automáticamente en tiempo de ejecución. Puedes elegir un tipo BSON explícito para un campo calculado y tu tarea de migración convierte el tipo como parte del proceso.