[ 
https://issues.apache.org/jira/browse/CAY-1193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

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: https://issues.apache.org/jira/browse/CAY-1193
>             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 DbGenerator.
> 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.

Reply via email to