> Do you have a few minutes to help turning this commit into patches
> against 1.1 and 1.2:
>
> http://svn.apache.org/viewvc?view=rev&revision=541595
Hmm, I will have to check out the old code then. I am only having version
3 configured for compilation. I plan to look into this on this friday.
> At the same time I've been looking to implement a similar algorithm
> (outside Cayenne but based on Cayenne schema) for one of my projects,
> and it is possible if you make some assumptions about the nature of
> the schema changes (e.g. only support add/drop column, create/drop
> table ops) and do not support porting the data (e.g. no "rename
> column").
I guess I will have to delay our update mechanism for later but I am
currently thinking about something like this:
- Export table into XML via Cayenne
- Drop all constraints and foreign key relations
- Drop Table
- Recreate Table with new metadata
- Import table from XML via Cayenne
- Recreate all constraints, indexes and foreign key relations
I chose this strategy because of these thoughts:
- Simple changes to the data model can be managed by above strategy
without any further work needed.
- More complex changes could be scripted (during the import we call a
class or some beanshell script or something) or the data can be changed
with some XSLT script before the import.
- I did not look to much into the constraints and foreign key relations
but creating a table is supported by the Cayenne DBAdapter which is a plus
when trying to support as many DBs as possible. So there would be no need
to do some difficult update/alter table algorithm.
What do you think?
Adrian
This archive was generated by hypermail 2.0.0 : Wed May 30 2007 - 15:59:34 EDT