Re: Changing database schemas at runtime

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Tue Jan 06 2009 - 02:11:47 EST

  • Next message: Lawrence Gerstley: "Re: Changing database schemas at runtime"

    Hi Lawrence,

    Yeah, the "default schema" is ignored in runtime, and only per
    DbEntity schema is consulted. Looking back, it would've been better to
    use the default if DbEntity schema is not set, and we may change the
    behavior at some point, but for now "default schema" is only used by
    the Modeler.

    So to change schema you would need to iterate through all DbEntities
    and set it per entity.

    Andrus

    On Jan 6, 2009, at 3:57 AM, Lawrence Gerstley wrote:

    > Hello,
    >
    > I've been using Cayenne and allowing for changing backends at
    > runtime--representing the same schema in MySQL, Oracle, Apache
    > Derby, and have had success changing the backend with:
    >
    > DataSource dataSource = new PoolManager(
    > jdbcDriverDetails.getDriverClass(),
    > myURL,
    > 1,
    > 5,
    > myUser,
    > myPassword);
    > Configuration config =
    > Configuration.getSharedConfiguration();
    > DataDomain domain = config.getDomain();
    > DataNode node = domain.getNode("MyDomain");
    > node.setDataSource(dataSource);
    >
    > My problem is that I need to also allow a user to select the schema
    > that the datamap should be applied to. For example, in Oracle, the
    > same schema design might be in multiple instances (in my example,
    > KTMI3D, KTMI3M, KTMI3X, etc.). I can change these with the modeler
    > and have it work, but I need to change it at runtime. I've tried
    > changing it with:
    >
    > dataMap.setDefaultSchema(schema);
    >
    > But haven't had much luck changing at runtime. Is there some way to
    > do this with my approach, or is there a better approach to take if
    > you want to switch back-ends multiple time at runtime?
    >
    > Thanks for reading,
    >
    > Lawrence
    >
    >



    This archive was generated by hypermail 2.0.0 : Tue Jan 06 2009 - 02:12:22 EST