Bruce,
To the best of my knowledge there have been no substantial
improvements in this area so far.
Andrus
On Jan 24, 2006, at 10:51 PM, Bruce Alspaugh wrote:
> Have there been any updates to support schema evolution since this
> was posted? Is schema generation still all or nothing?
>
> Bruce
>
> On Jul 23, 2004, at 5:54 PM, Andrus Adamchik wrote:
>
> Hi Jonathan,
>
> As this raises a valid concern, it can't be "too critical" ;-) BTW,
> this has been discussed multiple times in the last few months. So....
>
> 1. You are right - current Cayenne schema generation is all or
> nothing.
> You can drop and recreate your tables but there is no "merge".
>
> 2. In the future we will definitely improve that. This is in the
> plans.
> However there is a huge BUT, which lead us to (3)...
>
> 3. In a general case "merging" DB schema with the evolved model is not
> just add/drop column. Most real life migrations between schema
> versions
> are incomparably more complex than that. They involve moving data
> within and between tables, modifying this data in the process,
> intermingling DDL and DML statements, and is generally impossible to
> automate.
>
> In my work as a consultant, I've spent a fair amount of time on
> various
> projects trying to automate or at least improve tedious database
> schema
> upgrade process between the code versions. My conclusion is that full
> generic (and most importantly - working) automation is impossible. If
> you have a production DB with lots of data, expect doing manual SQL
> coding. Somebody please prove me wrong on that!
>
> On a more optimistic note, we can still *greatly* improve this
> experience by providing a dumb generated "SQL patch" that compares
> current DB state and current Cayenne DataMap, and generates "create
> table/add column/drop column" statements without regards to the actual
> data migration path... It can be saved and later manually customized
> for the actual DB run. That's where we are heading.
>
> A bit unrelated, I guess I should follow the suggestion made privately
> by Michael Gentry and set up a Wiki for Cayenne, so that such
> discussions could leave a trail and an actual implementation roadmap.
>
> Thanks
> Andrus
>
> On Jul 23, 2004, at 5:20 PM, Jonathan Carlson wrote:
>> I hope I didn't sound too critical in my note below. Cayenne is a
>> very easy to use tool and I'm sure it will only get easier to use as
>> time goes on. My thinking that Cayenne might make this really easy
>> for me is a testament to how easy it is already.
>>
>> As I thought about it I realized that adding a column could be a
>> difficult thing for Cayenne to manage if the column was mandatory
>> because Cayenne does not yet allow a default value specification. I'm
>> hoping that specifying a default value will be a new Cayenne feature
>> soon since it seems like a useful feature and all databases (I think)
>> support it at some level.
>>
>> Are these features "on the horizon" or "down the road further"?
>> (default column specification, and smarter schema evolution)
>>
>> Thanks,
>>
>> Jonathan
>>
>>
>>>>> "Jonathan Carlson" <Jonathan.Carlso..atun.com> 2004-07-23 1:37:07
>>>>> PM >>>
>> I did a quick test to see how Cayenne handled adding a new field when
>> there was data already in the table. I was secretly hoping that
>> Cayenne would do the right thing and generate an add column statement
>> rather than a create table statement, but it didn't.
>>
>> To top it off, clicking on the "Generate" button resulted in a
>> "Schema
>> Generation Complete" message as if the db schema now matched what was
>> in Cayenne, which it didn't because no column was added.
>>
>> Is this a bug or just a missing feature? What's the best way for me
>> to handle this situation? Add columns manually?
>>
>> Thanks in advance!
>>
>> Jonathan
>>
>>
>>
>>
>
This archive was generated by hypermail 2.0.0 : Wed Jan 25 2006 - 11:55:39 EST