Acceso centralizado a schemas.

gregorio
2013-07-14
2013-08-03
  • gregorio

    gregorio - 2013-07-14

    Saludos.
    Entiendo que puede definirse esquemas por usuario o grupos de usuario.
    Existe alguna manera de que un "super usuario" pueda acceder a todos los esquemas y/o alguna forma de realizar informes que abarquen los esquemas?.

    Ejemplo de un informa gerencial:
    total empresa1: 10.000 (schema sucursal_1)
    total empresa2: 15.000 (schema sucursal_2)
    total empresa3: 14.000 (schema sucursal_3)
    total compañia: 39.000 (totales de sucursal_1+sucursal_2+sucursal_3)

     
  • Javier Paniza

    Javier Paniza - 2013-07-15

    Hola Gregorio,

    el problema es que para cada compañia tienes un conjunto de tablas diferente. Por ejemplo, para Cliente tienes tres tabla diferente una sucursal_1, otra en sucursal_2 y otra en sucursal_3, y la entidad JPA Cliente solo se puede mapear a una tabla a la vez.

    La única solución que se me ocurre es crearte un nuevo esquema llamada compañia y poner en el un cojunto de views (views de sql) que unan todas las tablas.


    Ayuda a otros en este foro como yo te ayudo a ti.
    ¿Necesitas más ayuda? Usa el soporte profesional de OpenXava

     
  • gregorio

    gregorio - 2013-07-15

    Gracias Javier.
    Solución simple y limpia.

     
  • Federico Alcantara

    Saludos Gregorio:

    Si la informaciones que manejas por empresas no tienen que estar necesariamente separadas en bases de datos entonces podrías utilizar una sola tabla y diferenciar las empresas mediante discriminadores, tendrías una tabla base e hijas con discriminadores para cada empresa. Así que para ver todas simplemente utilizas la tabla madre.

    Por ejemplo:

    @Entity
    @Table(name="EMPRESAS")
    @Inheritance(strategy=SINGLE_TABLE)
    @DiscriminatorColumn(name="EMPRESA_ID", discriminatorType=STRING,length=1)
    public class Empresas { ... }
    
    @Entity
    @Table(name="EMPRESA1")
    @DiscriminatorValue("1")
    public class Empresa1 extends Empresas{}
    

    Si no quieres usar JPA, OX te provee un buen core para eso, podría hacer una simple tabla, tener un campo para discriminar y utilizar @Views, @Tabs para las diferentes vistas, definir en application.xml diferentes módulos por empresa y controladores que se encarguen de persistir los diferentes discriminadores.

    Claro esta que estas dos opciones dependen exclusivamente de si la data de las diferentes empresas pueden coexistir en una misma tabla física.

    Espero te sea útil,

    Federico

     
  • gregorio

    gregorio - 2013-08-03

    Gracias por el aporte Federico.
    Me estaba encaminando hacia lo que propones.

    Atte.

    Gregorio

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks