Fecha de Migración
Descripción General
App Builder la función de migración de fechas proporciona soporte para migrar fechas de una huso horario a otra.
Advertencia
La migración de fechas es una herramienta muy poderosa, pero también potencialmente peligrosa, ya que afectará a todos los datos seleccionados. DateTime
columnas en su fuente de datos. Se recomienda encarecidamente tener cuidado y realizar pruebas adecuadas.
Recomendaciones
Se recomienda la migración de fecha para los desarrolladores que buscan convertir DateTime
columnas de una huso horario a otra.
La huso horario ideal para su fuente de datos es, quizás, discutible, sin embargo, la práctica recomendada es configurar sus servidores y fuentes de datos para que todos usen la misma huso horario. UTC es probablemente la mejor opción, ya que cualquier otra huso horario es propensa a cambiar si cambia la ubicación del servidor. Tenga en cuenta también que las instancias de Amazon están configuradas de forma predeterminada para usar UTC.
Otra cosa a tener en cuenta es que configurar la huso horario de su servidor de base de datos para que sea la misma que la huso horario de su fuente de datos garantizará que las llamadas a 'Now()'
devolverá el valor esperado. Now()
devuelve la hora actual según la huso horario de la base de datos.
Al mantener sincronizadas todas las husos horarios de su fuente de datos, puede evitar el dolor de cabeza de convertir DateTime
datos de una huso horario a otra. Actualmente, esto no se hace automáticamente, aunque puede desplegarse en una versión futura.
Limitaciones y Advertencias
A pesar de DateTime
las columnas se migran, hay otros aspectos de su App Builder aplicación que puede requerir modificaciones, entre ellas:
- Codificación rígida
DateTime
los valores de las reglas no se ajustan. Si las reglas incluyenwhere
oselect
cláusulas con fechas codificadas, deberá ajustarlas manualmente a la nueva huso horario esperada. - Cualquier columna que utilice
DateAdd
o funciones similares para ajustar las husos horarios manualmente también se dejarán como están. Los desarrolladores deberán solucionar estos problemas manualmente. - Las versiones de MS SQL Server anteriores a 2016 no admiten el
AT TIME ZONE
función. Como resultado, la migración de fecha se realizará utilizando una diferencia huso horario calculada a partir de las husos horarios de origen y destino en el momento actual. Esto puede causar problemas con las husos horarios que utilizan el horario de verano. - Las migraciones de fecha se ejecutan en una sola transacción cuando su aplicación o fuente de datos se actualiza a través de un LP. La transacción puede caducar según la cantidad de datos a migrar. Si esto sucede, configure un tiempo más largo
CommandTimeOut
en su archivo de conexión ayudará a mitigar el tiempo de espera.
Configurar la Migración de Fechas
Para realizar una migración de fecha ejecute los siguientes pasos:
- Vaya a IDE > Configuración adicional > Migración de fecha
- Haga clic en + Migración en el panel Migraciones de fechas
- Seleccione una Fuente de datos
- Seleccione una Huso Horario de origen. Esta configuración ya estará completa para las fuentes de datos que tengan un valor distinto de nulo.
Time Zone
. - Seleccione una Huso Horario de destino
- Haga clic en Guardar
En este punto, el panel lateral derecho debería llenarse con todos los DateTime
columnas en la Fuente de datos seleccionada. Desde aquí puede configurar los ajustes de migración de fecha para columnas individuales.
Si su Fuente de datos no tiene una huso horario configurada, notará que Auditoría DateTime
las columnas utilizarán el App Builder la huso horario del servidor de aplicaciones como Source Time Zone
Los datos de auditoría se escriben utilizando la huso horario del servidor de aplicaciones cuando la Fuente de datos no tiene una huso horario configurada. Tenga en cuenta también que App Builder utiliza el AddedOn
y ChangedOn
tipos de uso de columnas para determinar si una columna se considera datos de auditoría.
Una vez que haya terminado de ajustar las columnas individuales, puede continuar con los siguientes pasos:
- En la misma pantalla que la anterior, haga clic en el botón Migrar en el panel Migración de fecha.
Esto ejecutará un trabajo en segundo plano para migrar todas las columnas configuradas. La migración de fecha se ejecuta dentro de una sola transacción y bloqueará las tablas en el proceso. Debe asegurarse de que el tráfico en su servidor sea mínimo o nulo para evitar bloqueos.
También se agregarán pasos de administración de cambios para cada tabla que se migre.
Una vez que se hayan migrado las fechas, el estado de la migración de fecha cambiará a Complete
.
Si ocurre una falla, la transacción de migración de fecha se revertirá y se podrán encontrar registros adicionales en el historial de trabajos en segundo plano.