cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrus Adamchik (JIRA)" <>
Subject [jira] Closed: (CAY-1193) Auto load schema on startup
Date Sat, 16 May 2009 20:34:45 GMT


Andrus Adamchik closed CAY-1193.

    Resolution: Fixed

there are still certain things broken, and some rough edges here and there, but it is a decent
first cut. Since the code is on trunk, I am closing this for M6. We'll open a new Jira for
the remaining stuff.

> Auto load schema on startup
> ---------------------------
>                 Key: CAY-1193
>                 URL:
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: Cayenne Core Library, CayenneModeler GUI
>    Affects Versions: 3.0M5
>            Reporter: Andrus Adamchik
>            Assignee: Andrus Adamchik
>             Fix For: 3.0M6
>         Attachments: SchemaUpdateStrategy.txt, SchemaUpdateStrategy1.txt, SchemaUpdateStrategy2.txt,
SchemaUpdateStrategy4.txt, SchemaUpdateStrategy5.txt, SchemaUpdateStrategy6.txt, SchemaUpdateStrategy7.txt,
SchemaUpdateStrategy8.txt, StrategyAnalyser.txt, StrategyAnalyzer.txt, StrategyAnalyzer.txt
> This feature would allow Cayenne to bootstrap the DB schema on startup if needed. I can
see the following options for schema update:
> 1. Skip schema update. This is the current behavior.
> 2. Create if no existing tables are found. This is the most reliable but less powerful
option. It will skip schema creation if at least one of the tables modeled in Cayenne already
exist in DB. No exceptions will be thrown (maybe just an INFO log message). This will use
> 3. Create if no existing tables are found ; throw if partial schema detected. This will
check for schema changes compared to the model and throw an exception if differences are found
in the tables mapped in the DataMap (i.e. if there are more tables than mapped in Cayenne,
it will NOT throw). This will use the merge package.
> (I wonder if "4. Attempt to merge schema changes" makes any sense at all)
> This will have a modeler component - a dropdown at the DataNode level listing schema
generation strategies. It will be saved in the XML as "schema-update-strategy" attribute for
the "node" element. 
> Runtime component will consist of strategy instantiation, and an intercept of DB operations
run through the DataNode, passing it to an appropriate strategy. Still undecided whether the
strategy should be a DataNode attribute or a DbAdapter attribute (prolly DataNode).

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message