Saltar al contenido

Herencia de Tabla

Como novedad en Vinyl 2.7, hay una función Herencia de tablas disponible para usar desde la capa de almacenamiento de datos. La herencia de tabla le permite no requerir el uso del conector de Vinyl si todo a lo que se está conectando es local. Para utilizar esta función, deberá hacer clic en el botón Edge Case disponible en la tabla desde la que desea ampliar, cuando trabaje en la capa de datos. Aquí es donde configura y define esta característica para su uso. El campo Extiende, disponible al configurar, muestra una lista de todos los objetos de datos públicos que están disponibles en el ambiente del servidor.

Básicamente, la herencia le indica a Vinyl que herede una copia de todas las columnas y registros de datos que la tabla seleccionada tiene disponibles desde la fuente de datos existente. Los registros de datos aún residen en la ubicación de la fuente de datos de la tabla de la que hereda. La suposición es que heredaría una tabla y luego agregaría nuevas columnas únicas según sea necesario.

La tabla local que se crea cuando se usa la herencia almacena las claves principales junto con las columnas recién agregadas. La tabla recién creada también heredará las validaciones, la lógica y/o los eventos de la tabla de origen seleccionada. Puede utilizar la tabla heredada recién creada para agregar lógica empresarial sobre ella o contra ella.

Por diseño, Vinyl no reflejará automáticamente los cambios realizados en la tabla fuente o maestra en la tabla Heredado. Consulte "Para capturar cambios de la tabla heredada" para solucionar esta situación.

Nota

Una vez que se define la herencia de tabla para una tabla determinada, ese valor no se puede modificar una vez guardado.

Extensible

Para Configurar la Herencia de Tablas

La herencia de tablas está disponible en la capa de datos. Los pasos descritos aquí suponen que desea ampliar una tabla a la misma fuente de datos; la opción de ampliar una tabla a una fuente de datos diferente se describe en la sección de uso de ejemplo a continuación.

  1. Navegue hasta App Workbench
  2. Localice la tabla existente que desea ampliar y haga clic en el botón Diseñar. Por ejemplo: cliente
  3. Haga clic en el botón Edge Case
  4. Haga clic en el botón Extender
  5. Deje el valor Extiende como está; esto representa la tabla nombrada que se está ampliando. Por ejemplo: cliente
  6. Asigne un Nombre único para la nueva tabla. Por ejemplo: ClienteExtender
  7. Haga clic en Guardar
  8. Vinyl trae todas las columnas heredadas al panel Columnas
  9. Haga clic en Crear y agregue las columnas nuevas necesarias.

Para Capturar Cambios de una Tabla Heredada

Por diseño, la herencia de tablas no incorporará automáticamente los cambios de columna realizados en la fuente o tabla maestra seleccionada de la que está heredando. Si desea capturar cambios de la tabla de origen, puede usar el botón Importar disponible en la capa de datos.

  1. Navegue hasta App Workbench
  2. Ubique la tabla existente que desea actualizar y haga clic en el botón Diseño. Por ejemplo: ClienteExtender
  3. Haga clic en el botón Edge Case
  4. Haga clic en el botón Importar
  5. Vinyl le preguntará "¿Importar cambios a la tabla actual?", haga clic en Continuar
  6. Vinyl aparecerá después de importar los cambios y cualquier actualización de la columna será visible desde el panel Columnas. Por ejemplo: ¡Exitoso!

Uso de Ejemplo

El siguiente ejemplo describe un escenario en el que podría utilizar la herencia de tablas; en este escenario desea extender una tabla de una fuente de datos a otra fuente de datos. Un ejemplo en el que podría utilizar la herencia de tablas es si desea crear una tabla de parámetros de usuario a partir de un objeto de datos públicos en una fuente de datos que extiende a una fuente de datos diferente. Con este escenario, describiremos los pasos básicos que seguiría para comenzar:

  1. Navegue hasta App Workbench, Business Layer y confirme que App Data Sources tenga seleccionada la fuente de datos donde desea que resida la tabla extendida. Por ejemplo: vientos del norte
  2. Abra el registro de cualquiera de las tablas existentes en esta fuente de datos.
  3. Haga clic en el botón Edge Case
  4. Haga clic en el botón Extender
  5. Seleccione la tabla que desea ampliar en el menú desplegable Extiende. Por ejemplo: Se_User de la fuente de datos de Vinyl
  6. Confirme que el valor Nombre es el nombre que desea que se le dé a la tabla extendida. Por ejemplo: Se_User_Extension
  7. Haga clic en Guardar
  8. Haga clic en Edge Case y confirme que la tabla de extensión tenga CRUD Support marcado o habilitado para Insertable, Updatable, Deletable
  9. Cree una nueva columna Booleana en la tabla de extensión. Por ejemplo: prueba booleana

    Booleantest

  10. Cree una Regla Crud para actualizar todos los registros del valor booleano a 1. Asegúrese de habilitar Capa empresarial en la configuración de la regla CRUD Propósito.

    Booleano crudo

  11. Haga clic en el botón Edge Case y marque para habilitar Business Layer

  12. Haga clic en Guardar
  13. Haga clic en x para salir de la pantalla.

    Lógica cruda

  14. Confirme la regla Crud Resultados muestran todas las cuentas de usuario existentes con el campo booleano marcado como 1

  15. Haga clic en el botón Ejecutar para ejecutar la regla CRUD.
  16. Navegue a la capa de almacenamiento de datos, a la tabla que extendió y confirme que la columna booleana ahora dice 1 para todas las cuentas de usuario.